Unity-使物体运动起来(以发射子弹为例)
使子弹运动起来
- 创建子弹的C#脚本
MoveForward
,内容如下
public class MoveForward : MonoBehaviour { // Start is called before the first frame update public float speed=30.0f; void Start() { } // Update is called once per frame void Update() { transform.Translate(Vector3.forward * Time.deltaTime*speed); } }
-
Assets-右击-创建文件夹Prefabs,用于存放子弹。将子弹拖入到该文件,选项为original prefab(原始预制件)。
-
在PlayerController中添加public变量projPrefab,保存,拖动Prefabs文件夹下的子弹到Player中的ProjPrefab。
-
使用空格键来发射子弹
if(Input.GetKeyDown(KeyCode.Space)) //press the space { //launch a prejPrefab from the player Instantiate(projPrefab, transform.position, projPrefab.transform.rotation); }
子弹出界销毁
通过判断对象的位置,在Update()方法中使用Destroy()销毁对象。
// Start is called before the first frame update private float topBound = 30f; private float bottomBound = -10f; // Update is called once per frame void Update() { if(transform.position.z> topBound|| transform.position.z < bottomBound) { Destroy(gameObject); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!