게임을 클리어하거나 게임오버가 되면 해당 메시지와 소리가 나오면서 조작은 안 먹어야 되는게 일반적입니다.

그런데 스크래치로 만들다보면 종종 게임오버 시에 [모두 멈추기]를 써서 모든 스크립트를 멈추게 합니다.

이런 경우 게임오버 효과음을 내기 위해서 효과음이 다 나오고 나서 멈추게 되는데,

그럼 효과음이 나오는 동안에는 조작이 가능하기에 뭔가 보기에 안 좋습니다.


게임오버 체크 로직에서는 [게임오버 신호 보내기]를 하고,

게임오버 신호를 받은 스크립트에서는 게임오버 효과음을 재생하고 [이 스프라이트에 있는 다른 스크립트 멈추기]를 하면 효과음은 나오지만 조작은 멈추는 것이 가능합니다.

다만, 각각의 스프라이트에서 모두 해당 처리를 해줘야 하겠지요.


개인용으로 기록을 남겨놓습니다.

'스크래치' 카테고리의 다른 글

[팁] 게임오버/클리어 시의 처리 요령  (0) 2020.02.08
[팁] 모두 멈추기  (0) 2020.02.08

루프 안에서 멀티태스킹으로 복수의 동작을 할 경우, 어떤 하나의 동작에서 멈추게 되면 더이상 루프가 돌지 않습니다.

루프 인터럽트를 멀티태스킹에 모두 넣어주어야 어떤 하나의 동작만 끝나더라고 루프가 끊어지고 전체 로직이 돌아가게 됩니다.


로봇을 회전시키면서 동시에 회전하는 사이에 검정선에 닿으면 멈추게 하려고 만든 예제입니다. (바깥쪽으로 메인로직의 더 큰 루프가 있다고 가정)

위의 예제에서처럼 루프 인터럽트를 양쪽에 다 넣어주어야 회전이 끝나고 루프가 끊기고 메인 로직이 돌던가,

또는 회전하는 중간에 검정선을 만나서 루프가 끊기고 메인 로직이 돌아가게 됩니다.


3컬러센서 라인 트레이서 로봇을 만들던 중 일자로 된 검정선에서 멈추지 않고 자꾸 회전 로직으로 들어가기게 생각해낸 알고리즘입니다.

나중을 위해 자료를 남깁니다.

'마인드스톰 EV3' 카테고리의 다른 글

[팁] 루프 안에서 멀티태스킹  (0) 2020.02.08

무대(배경)에서의 모두 멈추기와 스프라이트에서의 모두 멈추기가 다름.

무대에서 모두 멈추기를 해도 스프라이트는 여전히 동작하고 있었음.

스프라이트 중 하나에서 모두 멈추기로 바꾸니 의도했던대로 동작함.

둘의 차이가 있다는 것에 유의하기.

'스크래치' 카테고리의 다른 글

[팁] 게임오버/클리어 시의 처리 요령  (0) 2020.02.08
[팁] 모두 멈추기  (0) 2020.02.08

+ Recent posts