Unity3D中的常用方法

备注:文中所使用的this均指脚本所依附的对象

1.移动(用Translate方法进行移动)

int moveSpeed = ; //移动速度
this.transform.Translate(Vector3.down * Time.deltaTime * moveSpeed);

2. 修改Sprite Renderer的sprite

public Sprite[] sprites; //精灵数组
int frameIndex = ; // 精灵数组索引 this.GetComponent<SpriteRenderer>().sprite = sprites[frameIndex];

2、游戏对象实例化(GameObject.Instantiate),及方法连续调用(InvokeRepeating)

using UnityEngine;
using System.Collections; public class Gun : MonoBehaviour { public float rate = 0.2f ; //子弹发射速率 public GameObject bullet; //子弹对象,bullet为预制物体 void Start () {
OpenFire ();
} void Fire () { //实例化子弹
GameObject.Instantiate(bullet, this.transform.position, Quaternion.identity);
} void OpenFire () {
InvokeRepeating("Fire", 1, rate); //重复调用Fire方法,1表示延迟1s后执行
}
}

3、取消连续方法调用(CancelInvoke)

    public void StopFire () {
CancelInvoke("Fire");
}

4.unity3d中简单实现单例模式的方法(声明一个静态变量_instace,然后在Awake方法中赋值)

using UnityEngine;
using System.Collections; public class GameManager : MonoBehaviour { public static GameManager _instance; void Awake () {
_instance = this;
} }
上一篇:ubuntu系统下,gsl 库链接问题 -undefined reference to `cblas_xxx`


下一篇:Houdini 13在Ubuntu系统下流畅运行、不崩溃