4
나는 플레이어가 클릭하여 쏠 필요가있는 2D 게임을 제작 중입니다. 화면상의 마우스 커서가 움직이는 방향은 발사체가 움직이는 방향입니다. 나는 발사체를 인스턴스화하고 마우스 위치로 가져올 수 있었지만 발사체는 내가 원하는 바가 아닌 마우스를 따라 간다.Unity에서 마우스 위치를 향해 발사체 쏘기
public class LetterController : MonoBehaviour {
private List<GameObject> letters = new List<GameObject>();
public GameObject letterPrefab;
public float letterVelocity;
// Use this for initialization
private void Start()
{
}
// Update is called once per frame
void Update()
{
Vector3 direction = Camera.main.ScreenToWorldPoint(Input.mousePosition);
if (Input.GetMouseButtonDown(0))
{
GameObject letter = (GameObject)Instantiate(letterPrefab, transform.position, Quaternion.identity);
letters.Add(letter);
}
for (int i = 0; i < letters.Count; i++)
{
GameObject goLetter = letters[i];
if (goLetter != null)
{
goLetter.transform.Translate(direction * Time.deltaTime * letterVelocity);
Vector3 letterScreenPosition = Camera.main.WorldToScreenPoint(goLetter.transform.position);
if (letterScreenPosition.y >= Screen.height + 10 || letterScreenPosition.y <= -10 || letterScreenPosition.x >= Screen.width + 10 || letterScreenPosition.x <= -10)
{
DestroyObject(goLetter);
letters.Remove(goLetter);
}
}
}
}
}
나는 몇 YouTube 동영상을 시청하고 몇 유니티 포럼에서하는 듯했지만 솔루션은 나에게 오류를 준하거나, 그들은 단지 반대 축에 하나 개의 축에 촬영하거나 촬영처럼 나에게 다른 문제를 준
어젯밤에 완전히 그걸 놓쳤습니다. 감사! – rocky