Vector2{"矢量"是一个可以改变对象位移的类型,拥有可以改变2个值的能力,因为我们是2D游戏,只有2个可以位移的量,即XY轴所以用Vector2}
position"位置"这里指的是Unity上面的这个这个position{位置}就是Transform下的第一个这个{位置}
Vector2 position = transform.position中
Vector2 poition调用了vector2类型指定了Unity中的position的x y值{再次强调2D游戏没有z轴所以只有xy两个变量}
后面的 = transform.position指的是将这指定的xy两个值赋予在transform.positiopn上面
position.x = position.x + 0.1f;个人推断是指设置这个position.x的值{这个是x轴位移的值}不断加0.1f
最后面的tansform.position = poition;是将position.x这个不断加1的变化名称赋值给transform.position 这里联系第一行的内容我们能知道Vector2 position是transform.position赋值的
所以老师靠着位置x不断+1的循环实现了Luna在x轴上的位移.
赋予了新值的变量必须重新再赋予给原变量。
挂载脚本的方式
1. 将写好的脚本直接拖拽到目标精灵身上
2. 点击目标精灵,再点击最下面的add componnent,输入脚本名字。
脚本报错后可以直接点击错误,会弹出窗口console,可以得知报错脚本的位置,代码位置,和解决方案。
有报错则无法运行
脚本挂载方式:
update对每一帧更新
获取"Luna"的位置
Vector2 position = transform.position;
在这一行代码中,我们首先声明了一个名为`position`的`Vector2`类型的变量,这个变量将用于存储"Luna"游戏对象的位置信息。
通过`transform.position`,我们获取到了"Luna"游戏对象的当前位置,并将其赋值给了`position`变量。这意味着`position`现在包含了"Luna"的当前位置(包括X和Y坐标)。
修改位置变量
position.x = position.x + 0.1f; // 让人物“Luna”向右进行移动
在这一行代码中,我们修改了`position`变量的X坐标,以实现"Luna"向右移动。具体来说,我们将`position`的X坐标增加了0.1个单位,这会使"Luna"在X轴方向上向右移动一小段距离。
重新赋值位置
transform.position = position; // 把位置再重新赋值
最后一行代码是将修改后的`position`变量的值重新赋给了"Luna"游戏对象的位置。这意味着我们的移动操作已经生效,"Luna"的位置被更新,游戏对象在画面上发生了实际的位移。
Update()
方法中,而 Update()
方法会在每一帧都被调用,所以移动操作会一直执行。这可能不是你想要的行为,特别是如果你只想让"Luna"移动一次或在某个条件下移动。