좋아, 내가 여기에 인공 지능을 몇 가지 시도하고 내가 레이 Wenderlich 자습서를 따라 왔습니다. 나는 이상한 행동이 계속되고있다. 어쩌면이 모든 일을 잘못하고 있을지도 모르지만 ... 여기 있습니다. 스프라이트가 목표의 75 픽셀 이내에있을 때 방어를 AIState
으로 전환하고 나는 pauseSchedulerAndActions
으로 전화를 걸어 getDefensePosition
방법을 통해 미리 지정된 안전한 지점으로 설정합니다. 내가하려고하는 것은 2 초 후에 액션을 다시 시작하여 스프라이트가 다시 돌아 다니도록하는 것입니다. 그래서 나는 resumeSchedulerAndActions
라고 전화한다. 이제 이것은 단지 getDefenseMethod
을 통과하고이 세 장소 사이에서 te sprite를 움직입니다. 그러나 이것은 이상한 동작입니다. getDefenseMethod
전에 두 개의 slog를 호출하고 하나는 스프라이트가 화면 중앙에서 점프하고 새로운 spawnPoint로 돌아 오는 것입니다. :resumeSchedulerAndActions를 사용할 때 주위에 점프하는 스프 라이트
2013-03-04 20:08:14.897 10-8[2629:c07] before: {217.533, 177.32}
2013-03-04 20:08:14.898 10-8[2629:c07] spawnPoint 1
2013-03-04 20:08:14.899 10-8[2629:c07] after: {100, 100}
이유를 이해하지 못합니다. 왜 그 자리에서 시작하지 않는 것일까 요?
다를 수 있습니다 [CCCallBlock actionWithBlock :^{ [자기 performSelector : @ 선택기 (moveRandom :) withObject : s afterDelay : 0.5]; }], nil] ]; 그래서 내가 잘못된 방향으로 가고있는 것입니까? –
편집을 참조하십시오. '예를 들어'라고 썼습니다. – YvesLeBorg
감사합니다. 완벽하게 작동했습니다! 나는 계속해서 "선언되지 않은 식별자 'CCDelay'를 사용했다."그래서 나는 그 라인을 주석 처리했다. 나는 왜 그것을 얻었는지 모르지만, 내가 가져 오는 것을 잊어 버린 것이 있었습니까? –