조건분기에서,
'액터가 EV010를 향하고 서 있을 때에만'이라는 조건을 넣으려고 합니다.
그런데, 이 EV010은 계속 움직여요. (랜덤하게 or 액터에게 오거나 도망가거나)
액터도 물론 자유롭게 움직일 수 있고요.
기본적인 향함(위 왼쪽 오른쪽 아래) 조건으로는, 어떻게 할 수가 없을 것 같고...
스크립트로 넣는 것 밖에 답이 없을 것 같은데
어떻게 써야 가능할까요...?
오... 이렇게 짚어주시니까, 정리가 좀 되는 것 같네요...
그런데, 지금 이 방법대로 판별을 시키자면 상당히 복잡해져버리는 상황이라 (EV010 외의 타겟으로 얼마든지 변할 수 있는 상황이라서요...)
우선은, 차선책을 택해봤습니다. 병렬처리이벤트에 끼워서, 액터가 EV010(타겟)을 따라다니는 EV011(타겟표지용)을 반복해서 향하도록 만드는 쪽으로요. (타겟 관리하는 병렬처리이벤트에서, 매번 EV010 쪽에 위치시키도록 하고요)
이걸 해봐서 혹시 문제가 있으면... 알려주신 방법대로 만들어서 판별을 시켜봐야겠어요.
감사합니다.
0.
해당 기능은 스크립트를 사용하지 않더라도 할 수 있습니다. 하지만, 스크립트로 하지 못하는 것도 아니긴 하지요. 일단 기본 기능으로도 얼마든지 가능하니 원리를 풀어쓰는 쪽으로 적어보겠습니다.
'액터가 EV010를 향하고 서 있을 때에만'이라는 조건을 어떻게 이해하느냐에 따라서 다소 달라지리라 생각합니다. 바라본다는 것을 일직선상일 경우로 보느냐, 아니면 보다 가까운 쪽으로 향하느냐에 따라서 상이하리라 생각되는군요. 하지만, 일반적으로는 전자라고 생각되므로 우선 전자에 맞춰 답변하겠습니다.
방법이야 여럿 있겠습니다만, 우선 x좌표가 동일하고, y좌표가 다른경우와 그 반대인 경우를 판별하고, x좌표가 같은 경우에는 어느쪽의 y좌표가 큰지, y좌표가 동일한 경우에는 그 역으로 크기를 비교하여 적합한 방향에 대해서 판별해주시면 됩니다.
만일 후자의 경우라면 플레이어와 이벤트의 x값 차이와 y값 차이를 구한다음 그 둘의 절대값중 어느쪽이 작은가를 기준으로 좌/우 방향인지 상/하 방향인지를 알아낸 다음 2차적으로 다시 좌/우 방향일 경우는 어느쪽의 x좌표가 큰지, 그 역일 경우는 그 역으로 크기를 비교하여 적합한 방향에 대해서 판별해주시면 됩니다.