Unity学习
控制物体的运动
Start和Update事件
public class Study : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
//在游戏开始运行时执行一次,适合进行组件初始化
Debug.Log("组件执行开始函数!"); //Debug.Log()
}
// Update is called once per frame
void Update()
{
//每帧都会执行
Debug.Log("当前游戏进行时间:" + Time.time);
}
}
修改物体位置
1、Transform组件
2、脚本修改
//在脚本中修改物体位置
//1、使用Translate()函数
//物体将沿着自身的右侧方向前进1.5个单位
void Start()
{
transform.Translate(1.5f, 0, 0);
}
//2、直接在一开始指定新的位置
void Start()
{
transform.position = new Vector3(1, 2.5f, 3);
}
//如果要做一个连续的位移动画
void Update()
{
transform.Translate(1.5f, 0, 0);
//等价于
transform.position += new Vector3(1, 2.5f, 3);
}
以上的写法无法保证“每秒移动相同的距离”,Time.deltaTime表示两帧之间的间隔
void Update()
{
transform.Translate(0, 0, 5 * Time.deltaTime);
//或
transform.position += new Vector3(0, 0, 5 * Time.deltaTime);
}
读取和处理输入
Input.GetAxis()返回的是一个float类型的值,取值范围为-1~1。
void Update()
{
public float Speed = 10;
//获取用户当前的纵轴输入和横轴输入
float v = Input.GetAxis("Vertical");
float h = Input.GetAxis("Horizontal");
//控制物体运动
transform.Translate(h * Time.deltaTime * Speed, 0, v * Time.deltaTime * Speed);
}
触发器事件
触发器定义一个范围,其它带有碰撞体组件的物体进入了这个范围时,就会产生一个触发事件。
创建触发器
触发器函数
。
posted on 2022-08-18 13:34 Shazam_sjtu 阅读(25) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)