1.随机数 Random.Range();
2.判断射线检测是否满足
Update()方法
if (Input.GetMouseButtonDown(0))
{
Debug.Log(1111);
RaycastHit2D hit = Physics2D.Raycast(Camera.main,ScreenToWorldPoint(Input.mousePosition);
if(hit.collider != null)
{
Debug,Log(hit.collider.gameObject);
Vector2 vector = hit.collider.gameObject.transform.position;
offset = Camera.main.ScreenToWorldPoint(Input.mousePosition);
offset.z=0;
hit.collider.gameObject,transform.position = offset;
laslMousePosition = hit.collider,gameObject.transform.position;
}
脚本生命周期:
1.Awake
最早执行,在GameObejct对象的数据和状态的初始化后执行,只会触发一次。
tips:GameObject实例化到场景中后在激活的状态下才会初始化,如果GameObject从来未激活,它的脚本上的Awake永远不会被调用。
即时触发,GameObject第一次active的时候调用。
2.Start
在脚本第一次调用Update之前调用,只会触发一次。
3.OnEnable
在脚本状态由disabled变为enabled状态是触发一次,Unity内部可能将脚本初始置为diabled,所以如果我们实例化一个激活的GameObject,并且在挂上一个enabled了的脚本后把它加入场景会调用一次OnEnable,并且早于Start。
4.OnDisable
在脚本由enabled状态变为disabled状态的时候会调用。
tips:OnEnable和OnDisable事件的触发是即时的,并且这两个事件是综合考虑GameObject的active状态和脚本的enabled状态的。所以不要在OnEnable里面把脚本设置为disabled同时在OnDisable中把脚本设置为enabled,会导致死循环!!!
5.Update
在每一帧调用,用于实现各种行为逻辑
6.LateUpdate
在每一帧调用,但是是在Update之后触发。常用的一种情况是相机跟随移动角色:角色移动逻辑在Update里面实现,相机跟随逻辑在LateUpdate里面实现。
7.OnDestroy
在组件被销毁时调用,只有GameObject被激活过才会触发。
脚本常用类:
1.Component类
2.GameObject类
3.Transform类
-
Vector3类
-
Quaternion
Identity:该四元素无旋转。
LookRotation:创建一个旋转,沿着forward(Z轴)并且头部沿着Y轴的约束注释
-
Time
-
Mathf
预设体
组件的集合体 , 预制物体可以实例化成游戏对象.
创建预设体的作用: 可以重复的创建具有相同结构的游戏对象。
在脚本中,使用instantiate函数来进行预设体的实例化
Object tmpObj = Instantiate(prefabs, pos , Quaternion.identity);
2.3 物理引擎
1.键盘输入常用方法
GetKey:按键按下期间返回true
GetKeyDown:按键按下的第一帧返回true
GetKeyUp:按键松开的第一帧返回True
Input类简介
虚拟按键
具体代码和实现方式如下:
Float hor = Input.GetAxis(“Horizontal”);
鼠标事件
常用的鼠标属性和方法
碰撞器组件:
当我们在场景当中创建出来一个游戏物体的方式后,引擎会自动为这个游戏物体添加碰撞器组件,其主要功能是进行碰撞检测。
发生碰撞的条件:1、相对运动,2、两个碰撞器,2、一个刚体
刚体组件
刚体组件能受到你的作用,比如:重力,反作用力,阻力,外加力,爆炸力等等
以下是刚体组件的一些属性和常用方法
触发器:
发生触发的条件:1、两个碰撞器 2、一个触发器 3、一个刚体
射线
Unity提供了涉嫌集资:通过虚拟射线检测所碰撞到的物体
Ray ray = new Ray();
Bool Raycast(Ray ray,out RaycastHit hitInfo);
Rayray=Camera.main.ScreenPointToRay(Input.mousePostion);
从主摄像机到鼠标点击位置创建一条射线。
ext控件是用来显示文本的文本控件
Text的属性可以在Inspector当中通过Text组件进行设置,也可以在代码当中进行动态设置。给Canvas挂载脚本UGUISetting
Image控件主要是用来显示图片,显示图片的格式是Sprite
当我们给Image选择一张贴图之后会出现ImageType选项,如下图所示。ImageType总共有四种选项:simple显示单个会拉伸;Tilled平铺显示,图片按照原始显示;Sliced按照九宫格显示,拉伸区域只会在九宫格中间;Filled填充显示,可以根据不同的填充方式模拟技能冷却的