많은 언어에서 당신은 다음과 같은 일을 할 수 있습니다.이죠 스몰 토크 : 게임 루프
스퀵 스몰 스몰 토크에서 어떻게합니까?
wiki.squeak.org에 설명 된대로 키보드 입력을 읽고 이에 응답 할 수 있습니다. 내가
1 to: 10 do: [ :i | game updateAndDraw ]
같은 것을 실행하려고한다면 모든 이벤트는 오직 루프가 실행 된 후 을 처리됩니다.
많은 언어에서 당신은 다음과 같은 일을 할 수 있습니다.이죠 스몰 토크 : 게임 루프
스퀵 스몰 스몰 토크에서 어떻게합니까?
wiki.squeak.org에 설명 된대로 키보드 입력을 읽고 이에 응답 할 수 있습니다. 내가
1 to: 10 do: [ :i | game updateAndDraw ]
같은 것을 실행하려고한다면 모든 이벤트는 오직 루프가 실행 된 후 을 처리됩니다.
Morphic은 이미 메인 루프를 제공합니다.
uiProcess := [
[ world doOneCycle. Processor yield ] repeat.
] newProcess ...
을 그리고 당신은 doOneCycle
파고 경우는
interCyclePause:
)MorphicProject class>>spawnNewProcess
에 있어요
step
메서드마우스/키보드 이벤트 처리기를 추가하고 애니메이션의 단계 방법을 추가하고 다시 표시 할 방법을 그리는 코드는이 단계에 연결되어야합니다. 이 모든 것은 당신의 게임 모프 (morph)에있는 메소드이어야합니다. 시스템 전체에서 예제를 찾을 수 있습니다.
동작을 통해 고정 된 횟수만큼 수행 할 수
10 timesRepeat: [game updateAndDraw]
가 while
의미론 사용하려면, 반면 시맨틱을 이용한 영구 루프를 생성하기
i := 5
[i > 0] whileTrue: [
i printNl.
i := i - 1.
]
을
[true] whileTrue: [something do]
이 질문은 내 질문에 전혀 영향을 미치지 않습니까? – Higemaru
죄송 합니다만, 귀하의 문제를 정확하게 이해하지 못했을 수 있습니다. –
너을 사용하여 Morphic 이벤트 루프를 이용할 수 있어야합니다..
Morphic에서 구현 된 게임의 예를 확인할 수 있습니다. 물론 그 중 몇 개를 찾을 수 있습니다. 일반적인 단순한 방법은 키보드 이벤트 (모델을 변경)를 처리하고 #updateAndDraw가 해당 하위 모프를 모델의 현재 상태 (위치의 위치)에 따라 다시 그려주는 단일 Morph를 게임에 적용하는 것입니다. 배우, 가시적 인 상태 표시 등) –
게임을 입력하지 않고도 계속 업데이트해야합니다. 당신은 당신의 접근 방식에서 그것을 어떻게 할 것입니까? – Higemaru