竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生

Unity-使物体运动起来(以发射子弹为例)

使子弹运动起来

  1. 创建子弹的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);
}
}
  1. Assets-右击-创建文件夹Prefabs,用于存放子弹。将子弹拖入到该文件,选项为original prefab(原始预制件)。

  2. 在PlayerController中添加public变量projPrefab,保存,拖动Prefabs文件夹下的子弹到Player中的ProjPrefab。在这里插入图片描述

  3. 使用空格键来发射子弹

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);
}
}
posted @   aw11  阅读(158)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示