전함을 이동하여 적의 함선을 방어하는 동안 특정 목표를 완료하는 전함 시뮬레이터를 만들고 있습니다. 적의 함선은 우주선의 위치를 추적하고 그 우주선을 쏠 수있는 원시 AI 형태를 가져야합니다.AS3의 AI 관련 문제
내가 겪고있는 문제는 적의 함대 그룹이 위치에 따라 플레이어의 배를 타고 갈 수 있도록 코드를 작성할 수있는 방법이 무엇인지 완전히 모르겠다는 것입니다. 나는 적의 배가 움직이게하려고 여러 번 시도했지만, 아무 소용이 없다.
var EMoveTimer:Timer = new Timer(10);
EMoveTimer.addEventListener("timer", EMove);
function EMove(eventArgs:TimerEvent):void{
EMoveTimer.start();
if(((mvi_EBattleship.x + 31.7) < mvi_PBattleship.x) && (mvi_EBattleship.x < mvi_PBattleship.x) && ((mvi_EBattleship.y + 195.8) < mvi_PBattleship.y) && (mvi_EBattleship.y < mvi_PBattleship.y)){
mvi_EBattleship.x += 1;
mvi_EBattleship.y += 1;
}
else if(((mvi_EBattleship.x + 31.7) < mvi_PBattleship.x) && (mvi_EBattleship.x < mvi_PBattleship.x) && (mvi_EBattleship.y > (mvi_PBattleship.y + 195.8)) && ((mvi_EBattleship + 195.8) > (mvi_PBattleship.y + 195.8))){
mvi_EBattleship.x += 1;
mvi_EBattleship.y -= 1;
}
else if((mvi_EBattleship.x > (mvi_PBattleship.x + 31.7)) && ((mvi_EBattleship.x + 31.7) > (mvi_PBattleship.x + 31.7)) && ((mvi_EBattleship.y + 195.8) < mvi_PBattleship.y) && (mvi_EBattleship.y < mvi_PBattleship.y)){
mvi_EBattleship.x -= 1;
mvi_EBattleship.y += 1;
}
else if((mvi_EBattleship.x > (mvi_PBattleship.x + 31.7)) && ((mvi_EBattleship.x + 31.7) > (mvi_PBattleship.x + 31.7)) && (mvi_EBattleship.y > (mvi_PBattleship.y + 195.8)) && ((mvi_EBattleship + 195.8) > (mvi_PBattleship.y + 195.8))){
mvi_EBattleship.x -= 1;
mvi_EBattleship.y -= 1;
}
else if((mvi_EBattleship.x > mvi_PBattleship.x) && ((mvi_EBattleship.x + 31.7) < (mvi_PBattleship.x + 31.7)) && ((mvi_EBattleship.y + 195.8) < mvi_PBattleship.y) && (mvi_EBattleship.y < mvi_PBattleship.y)){
mvi_EBattleship.y += 1;
}
else if((mvi_EBattleship.x > mvi_PBattleship.x) && ((mvi_EBattleship.x + 31.7) < (mvi_PBattleship.x + 31.7)) && (mvi_EBattleship.y > (mvi_PBattleship.y + 195.8)) && ((mvi_EBattleship.y + 195.8) > (mvi_PBattleship.y + 195.8))){
mvi_EBattleship.y -= 1;
}
else if((mvi_EBattleship.y > mvi_PBattleship.y) && ((mvi_EBattleship.y + 195.8) < (mvi_PBattleship.y + 195.8)) && ((mvi_EBattleship.x + 31.7) < mvi_PBattleship.x) && (mvi_EBattleship.x < mvi_PBattleship.x)){
mvi_EBattleship.x += 1;
}
else if((mvi_EBattleship.y > mvi_PBattleship.y) && ((mvi_EBattleship.y + 195.8) < (mvi_PBattleship.y + 195.8)) && (mvi_EBattleship.x > (mvi_PBattleship.x + 31.7)) && ((mvi_EBattleship.x + 31.7) > (mvi_PBattleship.x + 31.7))){
mvi_EBattleship.x += 1;
}
}
그래서, 내 주요 질문은 다음과 같습니다 :
1 첨부
은적 선박의 움직임에 대한 나의 가장 최근의 코딩 시도 (mvi_PBattleship 플레이어 우주선 용이며 mvi_EBattleship 적의 선박을위한)입니다) 적이 플레이어를 추적 할 수 있도록하기 위해 어떤 코드를 사용해야합니까?
2) 플레이어에서 적의 총알을 어떻게 만들 수 있습니까?
3) 두 적의 충돌을 추적 할 수있는 방법이 있습니까?
내일까지이 프로젝트가 거의 완료 될 것으로 예상되므로 실제 코드가 많이 필요할 것이고 감사 할 것입니다. 당신의 도움을 주셔서 대단히 감사합니다.
세 가지 매우 광범위한 문제에 대한 해결책을 묻고 나서 문제에 대한 실제 작업 코드를 묻습니다. 나는 당신이 그것을 얻을 것이라고 확신하지 못합니다. – Marty
@ 마티 "당신이 그것을 얻지 않을 것이라고 확신합니다." – Vesper
질문에 컨텍스트와 코드를 포함 시키려고 했으므로 여기에 부분 답변이 나와 있습니다. Marty & Vesper는 맞습니다. 느슨하게 관련된 세 가지 질문에 대한 코드를 요구하는 것이 대답을 얻는 가장 좋은 방법은 아닙니다. 1) 삼각법이 도움이 될 수 있습니다. 반경 위치는 시원합니다. 2) 총알은 오직 IA가 스트레스를 줘야하는 부양 될 수있다. 3) hitTestObject가 도움이 될 수 있습니다. – Aralicia