Unity3D学习笔记(十二):2D模式和异步资源加载
2D模式和3D模式区别:背景纯色,摄像机2D,没有深度轴

给切图打上标签

老版图集打包,选择Always Enabled:把同一标签的图片,全部挤在一张图片上,合理利用剩余空间

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//简易动画状态机,面向对象的思想
//枚举表示状态
public enum PlayerState
{
Idle,
Walk,
}
public class SpriteTest : MonoBehaviour
{
public Sprite[] idleSprites;
public Sprite[] walkSprites;
public float timeInterval = 0.1f;
private SpriteRenderer spriteRenderer;
private float curTime = ;
private int curIndex = ;
private float h;
private PlayerState state = PlayerState.Idle;//枚举项附初值
public PlayerState State//给枚举变量添加属性
{
get
{
return state;
}
set
{
if (state != value)//判断状态是否改变
{
curIndex = ;//如果改变,把数组下标curIndex清零
state = value;//给状态赋新值
}
}
}
// Use this for initialization
void Start()
{
spriteRenderer = GetComponent<SpriteRenderer>();
}
// Update is called once per frame
void Update()
{
h = Input.GetAxisRaw("Horizontal");
CheckState();
}
//根据轴值检测状态
void CheckState()
{
if (h == )
{
State = PlayerState.Idle;
}
else
{
State = PlayerState.Walk;
}
ChooseState();
}
//根据状态传递数组
void ChooseState()
{
switch (State)
{
case PlayerState.Idle:
PlayAnimation(idleSprites);
break;
case PlayerState.Walk:
PlayAnimation(walkSprites);
break;
}
}
//接收数组播放动画
void PlayAnimation(Sprite[] sprites)
{
curTime += Time.deltaTime;
if (curTime >= timeInterval)
{
curIndex++;
curIndex %= sprites.Length;
spriteRenderer.sprite = sprites[curIndex];
curTime = ;
}
}
}
private void OnCollisionEnter2D(Collision2D collision)
{ }
private void OnTriggerEnter2D(Collider2D collision)
{ }
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovementController : MonoBehaviour
{
public float moveSpeed = ;
private float h;
// Use this for initialization
void Start () {
} // Update is called once per frame
void Update ()
{
h = Input.GetAxisRaw("Horizontal");
transform.Translate(Vector3.right * Time.deltaTime * h * moveSpeed);
if (h != )//判断在移动时,转身
{
transform.localScale = new Vector3(h > ? : -, , );//用Scale=-1来转身
}
if (Input.GetKeyDown(KeyCode.Space))
{
GetComponent<Rigidbody2D>().AddForce(Vector2.up * , ForceMode2D.Impulse);//施加一个向上的力
}
}
}

碰撞器需要勾选Is Trigger和Used By Effector,效应器才会有效果


Distance Joint 2D:模仿关节

弹簧关节:有重力,有弹簧的效果

Unity3D学习笔记(十二):2D模式和异步资源加载的更多相关文章
- JavaScript学习笔记(十二) 回调模式(Callback Pattern)
函数就是对象,所以他们可以作为一个参数传递给其它函数: 当你将introduceBugs()作为一个参数传递给writeCode(),然后在某个时间点,writeCode()有可能执行(调用)intr ...
- python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL
python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...
- Go语言学习笔记十二: 范围(Range)
Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...
- VSTO学习笔记(三) 开发Office 2010 64位COM加载项
原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(A ...
- Unity3D之Mecanim动画系统学习笔记(十):Mecanim动画的资源加载相关
资源加载是必备的知识点,这里就说说Mecanim动画的资源如何打包及加载. 注意,Unity4.x和Unity5.x的AssetBundle打包策略不一样,本笔记是基于Unity4.x的AssetBu ...
- Android 学习笔记之Volley(八)实现网络图片的数据加载
PS:最后一篇关于Volley框架的博客... 学习内容: 1.使用ImageRequest.java实现网络图片加载 2.使用ImageLoader.java实现网络图片加载 3.使用NetWork ...
- Unity3D学习笔记(二十九):AssetBundle
AssetBundle 什么是AssetBundle? AssetBundle是把一些资源文件或场景文件,以某种方式保存在一个文件中.一个AssetBundle可以包含模型.材质.图片或场景等.但是A ...
- Unity3D学习笔记(二十五):文件操作
文件是什么? 存储在硬盘上的最后的节点. 文件夹是什么? 文件的上级单位称为文件夹. 文件夹的基本结构? 文件夹是层级化结构的,对于同级的文件夹不可以重名,父文件夹和子文件夹可以同名> IO:I ...
- Unity3D学习笔记(二十八):Editor
Editor: 对编辑器进行一些拓展开发 关于继承Mono类的扩展开发 特性: [特性]:声明性的标签(类,方法,结构体,变量) 特性只对字段声明有效,后面必须接字段:多个特性,可以修饰一个字段 ...
随机推荐
- 十天精通CSS3(11)
Media Queries——媒体类型(一) 随着科学技术不断的向前发展,网页的浏览终端越来越多样化,用户可以通过:宽屏电视.台式电脑.笔记本电脑.平板电脑和智能手机来访问你的网站.尽管你无法保证一个 ...
- 使用tagName定位报错
使用标签进行定位元素,页面报错,由于input标签不唯一,webdriver默认会取第一个元素,但是第一个input元素的类型是‘hidden’,无法展示,因此程序就报错了 如何解决,未完待续...
- Hadoop集群安装-CDH5(5台服务器集群)
CDH5包下载:http://archive.cloudera.com/cdh5/ 架构设计: 主机规划: IP Host 部署模块 进程 192.168.254.151 Hadoop-NN-01 N ...
- qt mysql驱动问题解绝
传统解决方法:一.解决问题 本文解决在Ubuntu16.04系统下,Qt5无法连接MySQL数据库的问题(Qt5缺少MySQL驱动,Qt5缺少libqsqlmysql.so动态库,如何安装libqsq ...
- Javascript-短路 与(&&)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- django登录功能(简单在POST请求)
第一 先在templates中创立index.html !DOCTYPE html> <head> <meta charset="UTF-8"> & ...
- Impala SQL 语言元素(翻译)[转载]
原 Impala SQL 语言元素(翻译) 本文来源于http://my.oschina.net/weiqingbin/blog/189413#OSC_h2_2 摘要 http://www.cloud ...
- Linux其他: GitBash
git bash是Windows下的命令行工具 安装后在任何一个文件夹下右键GitBash,打开一个窗口,ssh root@xx.xxx.xxx.xx登陆到服务器,输入yes,和登陆密码可以使用敲命令 ...
- java android 环境变量配置备忘录
java android 环境变量配置备忘录,全新重装系统要用到,备忘下来; JAVA_HOME D:\Java\jdk1.6.0_07 CLASSPATH .;%JAVA_HOME%\lib\dt ...
- P4878 [USACO05DEC]layout布局
P4878 [USACO05DEC]layout布局 差分约束 最短路径最长路,最长路径最短路 本题求的是最长路径,所以跑最短路 根据题意连边,然后spfa即可 注意要判断图的连通性,所以新建一个虚拟 ...