2012-03-05 2 views
2

저는 잠시 게임을 해왔고, 걸림돌을 겪었습니다. 나는 이것에 대해 어떻게 생각하는지 모른다. 여기에 내 문제가있다 :스프라이트 타깃팅

나는 앞으로 향하는 레일 건과 2 개의 미사일을 가지고있다. 레일 건은 우주선 앞에서 직선으로 만 발사 될 수 있지만, 우주선이 우주선 앞의 원뿔에있는 경우에는 미사일이 발사 될 수 있습니다. 문제는 우주선이 화면을 중심으로 회전하고 움직이고 있다는 것입니다. 레일 건에 대해서, 나는 배가 선상 어디에 선가 있는지 확인해야한다. 미사일의 경우, 250px 이내의 배가 배 앞쪽에 있는지는 확인해야하지만 양쪽으로 45도를 넘지 않아야합니다.

도움을 주시면 감사하겠습니다. 고맙습니다!

+0

시스템에서 우주선과 대상의 위치를 ​​어떻게 추적하고 있습니까? 당신은 이러한 것들을 파악하기 위해 수학을해야 할 것입니다. 2 포인트와 방향이 필요합니다. (선박이 가리키는 곳) – Developer

+0

우주선의 위치와 적의 위치에 대해 Vector2가 있습니다. 나는 또한 모든 선박에 대한 회전 값을 가지고 있습니다. – Jack

+0

http://www.metanetsoftware.com/technique/tutorialA.html 이것은 당신이 찾고있는 것일 수 있습니다. – Developer

답변

2

는 레일 건을 위해 당신은 enemyship가 뒤에 250 인 경우 또는 뿅 내가 테스트 havnt하지만 확인해야이

public delegate void inRange(); 
public event inRange shipInRange; 

pubic void checkRange(){ 
    if(enemyShip.position.x < ship.position.x + 250 || enemyShip.position.x > ship.position.x + 250) 
    shipInRange(); 
} 

마녀처럼 뭔가를해야만 할 수 있습니다. 또한 이것은 y 축을 추가하는 것이 쉬울지라도 x 축에서 보트를 움직이는 것만으로도 즐겁습니다. 그러나 마녀 방향에 대한 chech를 추천합니다. 그러면 여러분은 방향을 향한 이벤트를 넣은 다음 여러분이 가지고있는 것을 듣습니다. 대면은 가장 쉬운 방법 일 것입니다. 다음 해당 이벤트를 수신하고 당신이 그것을 미사일에 대한 같은 일을 일어날 때해야 할 일을하지만 당신은 내가 제공 할 수있는 몇 가지 예제 코드가 있다면 또한 각도도

을 확인하기 만하면됩니다 좋은 예를 들었을 때

관련 문제