루프를 계속하기 전에 속성이 참이 될 때까지 기다리십시오.

Negora

내가 느끼는 일을 시도하는 것은 간단해야하지만 지금까지 시도한 것은 아무것도 없습니다. 적에 대한 속성이 true로 설정 될 때까지이 루프가 계속되는 것을 방지하려고합니다.

내 적 노드는 걷기 상태에서 플레이어의 경로를 알아냅니다. 경로가 계산 될 때까지 다음 적으로 반복하고 싶지 않습니다. 내 적 노드에는 걷기 상태에서 true로 설정 한 pathComplete 노드가 있습니다.

이것은 터치로 실행됩니다.

       for node:AnyObject in self.children {


                if node is EnemyNode {

                    let enemy = node as! EnemyNode

                    enemy.destination = coordinate
                    enemy.stateMachine.enterState(WalkingState)


                }

            }
알렉세이 피추 코프

내가 무엇을 하려는지 이해한다면 루프 대신 재귀를 사용해야합니다.

먼저 필요한 enemyNodeArray개체를 포함 할 일부를 만들어야 합니다.

그런 다음 다음과 같이 두 가지 기능을 만들 수 있습니다.

func actionForObjectWithIndex(index: Int, completion block: (nextIndex: Int) -> Void) {
    guard index >= 0 && index < enemyNodeArray.count else {
        return
    }

    // do what you need with object in array like enemyNodeArray[index]...
    ...
    // Then call completion 
    block(nextIndex: index + 1)
}

func makeActionWithIndex(index: Int) {
    actionForObjectWithIndex(index, completion: {(nextIndex: Int) -> Void in
        self.makeActionWithIndex(nextIndex)
    })
}

다음과 같이 사용하십시오.

if !enemyNodeArray.isEmpty {
    makeActionWithIndex(0)
}

이 알고리즘은 배열의 모든 개체를 가져 와서 특정 작업을 수행하며 이전 항목이 완료된 후에 만 ​​다음 항목으로 이동합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

쉘 스크립트를 계속하기 전에 크롬이 종료 될 때까지 기다리십시오.

분류에서Dev

계속하기 전에 Twitter의 API 제한이 재설정 될 때까지 기다리십시오.

분류에서Dev

계속 진행하기 전에 모든 iOS 블록이 실행될 때까지 기다리십시오.

분류에서Dev

VB.NET을 계속하기 전에 특정 프로그램이 열릴 때까지 기다리십시오.

분류에서Dev

on # finish를 호출하기 전에 busboy on # file이 완료 될 때까지 기다리십시오.

분류에서Dev

계속하기 전에 비동기 호출이 성공할 때까지 for 루프를 기다리는 방법

분류에서Dev

새로운 기능을 시작하기 전에 Ajax 기능이 완료 될 때까지 기다리십시오.

분류에서Dev

파일이 생성 될 때까지 tkinter Progressbar를 계속 실행하십시오.

분류에서Dev

웹 페이지가 Scrapy에로드 될 때까지 기다리십시오.

분류에서Dev

vb. 계속하기 전에 두 번째 양식이 닫힐 때까지 기다리십시오.

분류에서Dev

프로세스 실행이 완료 될 때까지 기다리십시오.

분류에서Dev

PBS 클러스터에 후속 작업을 제출하기 전에 사용자의 모든 작업이 완료 될 때까지 기다리십시오.

분류에서Dev

Cypress에서 응답 본문이 변경 될 때까지 기다리십시오.

분류에서Dev

Firebase 저장소에 이미지를 업로드하고 계속하기 전에 URL이 반환 될 때까지 기다리는 방법

분류에서Dev

코드를 계속하기 전에 다운로드 바가 나타날 때까지 기다리십시오.

분류에서Dev

bash는 계속하기 전에 첫 번째 python 파일이 시작될 때까지 기다립니다.

분류에서Dev

계속하기 전에 Javascript 함수가 WebSql 트랜잭션이 완료 될 때까지 기다리는 방법

분류에서Dev

CockroachDB 명령이 완료 될 때까지 기다리십시오.

분류에서Dev

변수가 0이 될 때까지 기다리십시오.

분류에서Dev

문이 완료 될 때까지 기다리십시오.

분류에서Dev

gobalEval이 완료 될 때까지 기다리십시오.

분류에서Dev

자바 :있는 ThreadPoolExecutor의 작업을 계속하기 전에 완료 될 때까지 루프에서 대기

분류에서Dev

계속하기 전에 소리가 끝날 때까지 기다리십시오.

분류에서Dev

popup.js에서 계속하기 전에 inject.js가 완전히 실행될 때까지 기다리십시오.

분류에서Dev

다음 반복을 계속하기 전에 db promise가 완료 될 때까지 for 루프를 대기하려면 어떻게해야합니까?

분류에서Dev

계속하기 전에 포크 아이들이 파이프에 쓸 때까지 기다리기

분류에서Dev

다음 기능이 시작되기 전에 기능의 모든 페이드가 완료 될 때까지 기다리십시오.

분류에서Dev

electron / redux에서 계속하기 전에 여러 ipc 호출이 완료 될 때까지 대기

분류에서Dev

계속하기 전에 코드가 반환 될 때까지 기다리나요?

Related 관련 기사

  1. 1

    쉘 스크립트를 계속하기 전에 크롬이 종료 될 때까지 기다리십시오.

  2. 2

    계속하기 전에 Twitter의 API 제한이 재설정 될 때까지 기다리십시오.

  3. 3

    계속 진행하기 전에 모든 iOS 블록이 실행될 때까지 기다리십시오.

  4. 4

    VB.NET을 계속하기 전에 특정 프로그램이 열릴 때까지 기다리십시오.

  5. 5

    on # finish를 호출하기 전에 busboy on # file이 완료 될 때까지 기다리십시오.

  6. 6

    계속하기 전에 비동기 호출이 성공할 때까지 for 루프를 기다리는 방법

  7. 7

    새로운 기능을 시작하기 전에 Ajax 기능이 완료 될 때까지 기다리십시오.

  8. 8

    파일이 생성 될 때까지 tkinter Progressbar를 계속 실행하십시오.

  9. 9

    웹 페이지가 Scrapy에로드 될 때까지 기다리십시오.

  10. 10

    vb. 계속하기 전에 두 번째 양식이 닫힐 때까지 기다리십시오.

  11. 11

    프로세스 실행이 완료 될 때까지 기다리십시오.

  12. 12

    PBS 클러스터에 후속 작업을 제출하기 전에 사용자의 모든 작업이 완료 될 때까지 기다리십시오.

  13. 13

    Cypress에서 응답 본문이 변경 될 때까지 기다리십시오.

  14. 14

    Firebase 저장소에 이미지를 업로드하고 계속하기 전에 URL이 반환 될 때까지 기다리는 방법

  15. 15

    코드를 계속하기 전에 다운로드 바가 나타날 때까지 기다리십시오.

  16. 16

    bash는 계속하기 전에 첫 번째 python 파일이 시작될 때까지 기다립니다.

  17. 17

    계속하기 전에 Javascript 함수가 WebSql 트랜잭션이 완료 될 때까지 기다리는 방법

  18. 18

    CockroachDB 명령이 완료 될 때까지 기다리십시오.

  19. 19

    변수가 0이 될 때까지 기다리십시오.

  20. 20

    문이 완료 될 때까지 기다리십시오.

  21. 21

    gobalEval이 완료 될 때까지 기다리십시오.

  22. 22

    자바 :있는 ThreadPoolExecutor의 작업을 계속하기 전에 완료 될 때까지 루프에서 대기

  23. 23

    계속하기 전에 소리가 끝날 때까지 기다리십시오.

  24. 24

    popup.js에서 계속하기 전에 inject.js가 완전히 실행될 때까지 기다리십시오.

  25. 25

    다음 반복을 계속하기 전에 db promise가 완료 될 때까지 for 루프를 대기하려면 어떻게해야합니까?

  26. 26

    계속하기 전에 포크 아이들이 파이프에 쓸 때까지 기다리기

  27. 27

    다음 기능이 시작되기 전에 기능의 모든 페이드가 완료 될 때까지 기다리십시오.

  28. 28

    electron / redux에서 계속하기 전에 여러 ipc 호출이 완료 될 때까지 대기

  29. 29

    계속하기 전에 코드가 반환 될 때까지 기다리나요?

뜨겁다태그

보관