我刚开始使用 Unity 进行编码,想创建一个游戏,让玩家可以射击目标。我想从玩家位置到鼠标位置画一条线,当玩家击中空间时,线消失,子弹朝那个方向飞。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Weapon : MonoBehaviour
{
public Transform firePoint;
public GameObject bulletPrefab;
// Update is called once per frame
void Update()
{
if (Input.GetButtonDown("Fire1")) {
Shoot();
}
}
void Shoot()
{
Instantiate(bulletPrefab,firePoint.position,firePoint.rotation);
}
}
我有显示项目符号的代码
答案 0 :(得分:0)
我只会给你一些关于我将如何做的提示(因为答案不应该涉及提供你的编码解决方案)。真正合适的问题是,一旦您研究并尝试了所有这些,具体步骤和可重现的示例可能会卡住。查找有关如何提出好问题的更多信息here
实现您想要的功能所需的功能是 Input.mousePosition、unity lineRenderer 以及可能在屏幕上调试您的路线的 Debug.DrawRay。
具体的画线步骤需要将Input.mousePosition
设置到lineRenderer位置,SetPositions在Update()
中,这样在拍摄的时候可以让线条消失根据您可能需要的行为,禁用线条渲染器组件,或重置位置或使用其他替代方法。
祝你好运:)