2021-05-18

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类

  1. Vector3类

  2. Quaternion

Identity:该四元素无旋转。

LookRotation:创建一个旋转,沿着forward(Z轴)并且头部沿着Y轴的约束注释

  1. Time

  2. 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填充显示,可以根据不同的填充方式模拟技能冷却的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值