实践视频
实践视频
通过SendMessage可以跟物体内的的组件任意发送
跟物体的父物体发送消息包括自己
SendMessageUpwards("方法名")
跟物体的子物体发送消息包括自己
BroadcastMessage("方法名")
需要自己去测试
测试成功 孙子也能调用
如果使用gameObject.SendMessage("方法名")
发送消息时该方法不存在启动时就会报错
范围很大 一个物体的所有组件含有"方法名"都会被发送消息
gameObject.sendMessage("方法名")
方法重载
SendMessage("方法名",传入的参数 Object)
方法名如果shi
gameObject.SendMessage("方法名")
发送消息给自己 跟调用方法差不多
间隔检测键盘按下后 只触发一次
Input.GetButtonDown("按键名")
一般和if联合用
也可以直接获取键盘键
input.GetKeyDown("KeyCode.Q")Q键被按下
input.anyKeyDown任意键
修改Getbutton("获取到的按钮") 按钮名可以更改
按钮名跟需要按下的键都可以更改
一般这个监听事件是和if作用的
判断鼠标左右键是否按下
if(GetButton("Fire1"))
{
DeBug.log("鼠标左键按下")
}
if(GetButton("Fire2"))
{鼠标右键
连续监听事件
Input.GetAxis("Mouse X")水平
Input.GetAxis("Mouse Y")垂直
渐变速度
水平Input.GetAxis("Horizontal");
垂直Input.GetAxis("Vertical");
简单的速度
水平:Input.GetAxisRaw("Horizontal")
垂直:Input.GetAxisRaw("Vertical")
Vector2.Lerp 速度 先快后慢
vector2.moveTowards匀速
平滑阻尼
xx.positon=vector2.SmoothDamp(xx.position,xxx.position,ref currentvelocity,1)
1是代表平滑时间
vector2 currentvelocity=new vector2(1,0)
一般使用 vector.moveTowards
xx.position=vector2.MoveTowards(初始位置,末尾位置,0.05f(移动速度) )
创建两个transform变量
将两个物体拖拽进去
在update函数中
修改
需要移动的物体
xx.position=vector2.lerp
(xx.position,xxx.position,0.01f)
两个向量的加减
va+-vb
判断 va==vb是一个向量吗
两个向量有符号角度
vector2.SignedAngle(va,vb)
向量线性插值法
vector2.Lerp(va,vb,0.5f);
不知道
vector2中的静态方法
取两个向量在各个方向上的最大分量组成的新向量
vector2.Max(v1,v2)
同理得 vector2.Min(v1,v2)
有关vector中的静态方法
vector2 v2=new vector2(1,1)
vector2 v22=new vector2(1.0)
两个向量无符号夹角 用 Vector2.Angle(v2,v22)
两点之间的距离是 vector2.Distance(v2,v22)
向量v2 ,v22的点积是 vector.Dot(v2,v22)
给位置赋值
可以用transform.position来接收
transform.position=new vector2(2,2)
相互接收
vector2 vector2=transform.position;
值类型和引用类型
结构体是值类型 值类型是两块内存空间
当yourStruct=mystruct之后再改变yourstruct中的属性 mystruct内属性不会变
class类是引用类型 两个类所处的是一个内存空间
当yourclass=myclass之后改变yourclass的属性
myclass的属性跟着改变