vs连接unity
创建对象,刚体,碰撞体积,材料
创建一个正方体当作平台,创建一个球
给球加入实体/刚体,使其能够随重力下落
给球加入圆形碰撞体(collider)
给平台加入碰撞体
更改球的下落速度(gravity n.重力)
启动!!发现球落在了平台上
创建物理材料,修改摩檫力和弹力
给球应用该材料
给球添加线性阻力
启动!!球在平台上弹起
编写代码
创建一个c#脚本
加入到球上,双击打开
start 相当于初始化,只会在游戏开始时运行一次,update 是每帧都更新运行一次
添加一个控制台
输入上述代码,我们可以在控制台看到他们(!!!输入完代码记得CTRL S 保存才会被执行!!!)
start只调用了一次 update一直在调用
Debug.log("")
调试功能检查bug时使用,会在控制台输出
按下空格输出jump
Input.Getkey
按住才会执行
Input.Getkeydown
按下才会执行
Input.Getkeyup
抬起才会执行
另一种方法
button在下图中设置(猜测作用是方便改键位??)
在该窗口中unity预制了常见的按钮和功能方便调用
球的移动
private 和 public 变量
公开变量可以在检查器中显示
私有变量不能被其他脚本修改,保证安全性
定义xInput用于X轴上的输入
定义一个刚体rb并安装给球,用来操控球
GetAxisRaw
方法,在Input类中,用于获取指定输入轴上的原始输入值
Input.GetAxisRaw("Horizontal")
,用于获取玩家水平方向输入
rb.velocity = new Vector2(xInput, rb.velocity.y);
用于控制一个2D物体在水平方向上的移动,同时保持其在垂直方向上的速度不变,new Vector2是新的 Vector2 对象,用于设置物体的新速度。Vector2 是一个二维向量,包含x和y两个分量。
运行下列代码并用ad或方向键操控球
球移动太慢了,创建一个速度变量
并应用到代码中
在控制台中修改到舒服的速度
球的跳跃
和球的移动同理
很多的变量其实并不能public,比如一个游戏人物的移动速度不能轻易改变。但是private后我们不能在控制台上轻易改变数值不方便调试,因此我们需要[SerializeField]
序列化操作