unity踩坑2020-01-21
这几天一直在测试一个类似于传奇的2d界面游戏,目前做的测试为:
人物动作响应,主要是8方向的判断和资源文件精灵的刷新。
学到的知识点:
1,Enum.GetHashCode() 可以得到这个枚举的索引值,
这里主要,可以把枚举写在大class的前面,class里面实例化自身,然后就可以设置这个枚举值。
例如:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public enum FaceDir //8方向
{
Up,
UpRight,
Right,
DownRight,
Down,
DownLeft,
Left,
UpLeft
}
public class Control : MonoBehaviour {
public FaceDir FaceDir ;
FaceDir =FaceDir .Up;
FaceDir .GetHashCode();//值等于0 ,索引从0开始。
}
2,精灵数组
private Sprite[] AnimationSp;
private SpriteRenderer SelfSprite;
AnimationSp = Resources.LoadAll<Sprite> ("Human/Man/0");
SelfSprite.sprite=AnimationSp [0];//这里注意大小写,有些ide因为各种原因不能很智能的为你进行提示,然后这个就很恶心,我公司的电脑有问题就有些不能提示,家里的电脑就是可以的。
3,Update 和 FixedUpdate,首先input输入类的尽量放入update,FixedUpdat多用于刚体结算,它的计算频率比update高,如果你把一个方法写进FixedUpdate,但是里面需要的参数又在update里面,那就会出错,因为他们不是同时进行,有时间差。