Unity2D C#学习笔记

1.基本函数:

void Start ();        //只会在脚本运行时执行一遍,且最先执行。

void Update ();        //持续更新的函数

void OnCollisionEnter2D(Collision2D );        //检测碰撞是否发生,重载函数,有无参数都可以

void OnCollisionEnter2D(Collision2D );        //碰撞结束离开,同上

void OnGUI();        //绘图函数,可显示图片等,相关类的函数写在里面,本身也有Updata的功能

void OnMouseUp();        //鼠标左键抬起(屏幕触摸抬起)

void OnMouseDown();        //鼠标左键按下(屏幕触摸按下)

void OnMouseEnter();        //鼠标光标指向

void OnMouseExit();        //鼠标光标移开

void OnTriggerStay();        //player进入Trigger触发事件

void OnTriggerEnter();        //player触碰Trigger触发事件

void OnTriggerExit();        //player离开Trigger触发事件

 

2.其它常用:

if (Event.current.type == EventType.MouseDown) {

    //这里写鼠标按下(屏幕触摸按下)的代码

}

if (Event.current.type == EventType.MouseDrag) {
    //这里写鼠标拖动(屏幕触摸滑动)的代码

}

if (Event.current.type == EventType.MouseUp) {

    //这里写鼠标抬起(屏幕触摸抬起)的代码

}

Pos = Event.current.mousePosition;    //获取当前光标位置,其中横坐标和纵坐标分别是Pos.x和Pos.y,原点在左上角,单位为1像素

Math.Abs(int);    //求整数的绝对值

Mathf.Abs(float);    //求浮点数的绝对值

AudioSource.PlayClipAtPoint(AudioClip, transform.localPosition);    //播放音频,其中的AudioClip变量public之后就可以拖拽音频赋值了

int[,] a=new int[4,4];    //定义4*4的二维数组

a = Random.Range(0, 4);    //生成[0,4)的随机整数

a = Random.Range(0f, 4f);    //生成[0,4]的随机小数

GUI.DrawTexture(new Rect(Posx,Posy,Weight,Height), Texture);    //显示一张图片(Texture),位置(图片左上角的位置)为(Posx,Posy),尺寸为Weight * Height (像素)

 

GUIStyle fontStyle = new GUIStyle();    //设置字体变量

 fontStyle.normal.textColor = new Color(R,G,B);   //设置字体颜色

 fontStyle.fontSize = 100;       //字体大小

GUI.Label(new Rect(Posx,Posy,Weight,Height), "hello" , fontStyle);    //显示文本

Debug.log("hello");    //调试打印,也可以用print

 

 Rigidbody2D a = GetComponent();     //获取当前的物理物体对象

float Speed = a.velocity.magnitude;    //获取对象当前的速度

transform.GetComponent().AddForce(Vector2.right*100);    //瞬间给当前物体施加一个水平向右的力使其速度为100

c.gameObject.name    //当前对象的名字,可省略gameObject,有时候还会有c.gameObject.log的写法,已知两者不可替代,但目前暂时不明区分方法

c.gameObject.SetActive(false);    //使当前对象消失(真实消失)

 

调用其他脚本的变量的方法:

1.假设脚本一的文件名为Script1,先在第一个脚本将需要扩展的变量定义为public,如public int a = 10;

2.在第二个脚本中可以写作Script1.a来使用并更改这个变量的值

 

GameObject.Find("player").transform.Translate(MoveSpeed * Time.deltaTime, 0, 0);    //直接寻找player对象并使其向右移动MoveSpeed * Time.deltaTime个像素,当写在某个按键上时,就可以实现按下持续移动的功能啦,不过这种寻找对象的方式效率较低,不适合大程序

 

你可能感兴趣的:(C#和unity)