2016-07-18 2 views
1

안녕하세요, 저는 Game Maker에서 RTS 게임을 개발 중이며 추적 미사일 생성에 도움이 필요합니다.Game Maker - 추적 발사체를 만들 수 없습니다.

아이디어는 개체 단위의 주어진 인스턴스를 실시간으로 추적하는 개체를 만드는 것입니다. 간단히 말하면, 적 유닛을 따르는 발사체를 만듭니다. 원정 미사일처럼.

현재로서는 obj_projectile을 만들 때마다 unit.id로 발사체 자체에 "trackId"변수를 설정합니다. 추적 중입니다. 이 방법은 :

projectile.trackId = foe.id; 

적이 적 유닛을 촬영하고 있습니다.

은 그리고, 발사체하는 공정 이벤트 :

//If unit does not exists keep going to the same point 
if object_exists(trackId){ 
    lastKnownX = trackId.x; 
    lastKnownY = trackId.y; 
} 

direction = point_direction(x, y, lastKnownX, lastKnownY); 
image_angle = point_direction(x, y, lastKnownX, lastKnownY); 
motion_add(point_direction(x, y, lastKnownX, lastKnownY), acceleration); 

//Don`t go topspeed 
if (speed > movespeed) speed = movespeed; 

movespeed 가속도는 obj_projectile의 변수이다. 이렇게하면

나는 처음에 목표 유닛에 대한 참조를 안전 장치 시도 :

if object_exists((trackId)){ 
    lastKnownX = (trackId).x; 
    lastKnownY = (trackId).y; 
} 

를하지만 중 하나가 작동하지 않습니다.

그 결과는 발사체가 만들어지고 그 순간 타겟이 있던 지점으로 이동 한 다음 움직이지 않는 상태로 머문다는 것입니다. 목표를 추적하지 않습니다.

나는 정말로 내가 뭘 잘못하고 있는지를 알지 못한다. 그리고 나는 이것을하는 많은 방법을 시도했다. 이번에는 Google에서 유용하다고 입증되지 않았습니다. 구글이 해답을 찾지 못했다고 말하면서도 찾지 못한다. (

나는 이것을 잘못하고있다? 내가 놓쳤던 명백한 것이 있는가? 완전히 익숙하지 않다. 그것은 그렇게 될 수 있도록하여 개체를 다스 려가, ID입니다. 읽기

감사합니다.

답변

1

질문 단지 기록을 위해, 다른 사이트에 대답했다, 내가 잘못 object_exists를 사용했다, 나는 instance_exists를 사용하는 사용하는 데 필요한 .

발사체의 단계 이벤트에서 :

if instance_exists(trackId){ 

대신

if object_exists(trackId){ 
관련 문제