왕초보
2011.10.04 15:09

라벨 이용하기 (1번째)

LCS
조회 수 2308 추천 수 0 댓글 4
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

강의를 보기 전에 참고할 사항이라면 \가 있습니다.

원화 표시로 나와야 하는데 여기서는 슬래시로 나오네요...

원화 표시로 읽어 주시면 감사하겠습니다.

 

가령 \V[0001]은 그 왜 있죠? [0001] 변수를 문장으로 표시하는 명령어 있잖아요. 문장의 표시 이벤트에 넣어 쓸 수 있는거..

\C[2]를 넣으면 그 뒤의 글자는 빨간 색으로 표시되고.. 그런 겁니다.

 

 

이벤트 목록을 보시면


라벨

라벨로 이동


이 2개가 있습니다.

이것에 대해 모르시는 분들 은근히 많은 것 같아서 글을 씁니다.

 


어느 이벤트가 있다고 합시다. 아래와 같습니다.


이벤트 1

★ 변수의 설정 : [0001] = 10

★ 변수의 설정 : [0002] = 2

★ 라벨 : return

★ 조건 분기 : 변수 [0001]이 >= 1 일 경우

  ★ 변수의 설정 : [0002] *= 2

  ★ 변수의 설정 : [0001] -= 1

  분기 종료

★ 문장의 표시 : \V[0002]


이벤트 1에서, 맨 마지막 문장의 표시는 어떤 글을 출력할까요?

여기서 3번째 줄에 있는 라벨 이벤트는 아무런 역할을 하지 못합니다.

마찬가지로, 변수 [0001] 또한, 변수 [0002]에 아무런 영향을 미치지 못하고 있습니다.

여기까지는 이해 되셨나요?


이해 안되신 분들을 위하여...


이벤트 1

★ 변수의 설정 : [0001] = 10 --> 변수 [0001]에 10을 대입했습니다. 현재 [0001]=10

★ 변수의 설정 : [0002] = 2 --> 변수 [0002]에 2를 대입했습니다. 현재 [0002]=2

★ 라벨 : return --> 라벨을 넣었습니다. 이름은 return 으로 했습니다.

★ 조건 분기 : 변수 [0001]이 >= 1 일 경우 --> 현재 변수 [0001]=10이며, 10은 1 이상이므로 조건 분기 내의 이벤트가 실행됩니다.

  ★ 변수의 설정 : [0002] *= 2 --> 변수 [0002]가 2배가 되었습니다. 현재 [0002]=4

  ★ 변수의 설정 : [0001] -= 1 --> 변수 [0001]에서 1을 뺄셈을 하였습니다. 현재 [0001]=9

  분기 종료 --> 조건 분기의 영향력이 끝나는 지점입니다.

★ 문장의 표시 : \V[0002] --> 문장을 이용해 결과를 표시합니다. 현재 [0002]=4 이므로 4가 출력됩니다.


 

이렇게 되어, 결과는 4가 출력됩니다.



 


이제부터가 진짜입니다.

이벤트 1에서 이벤트 달랑 하나가 추가되는데, 그게 얼마나 상황을 뒤집어 버리는지 보게 되실 겁니다.



 


이제 이벤트 2를 생각해 보겠는데요, 이벤트 1에서 하나의 이벤트만 더 추가된 형태입니다.


이벤트 2

★ 변수의 설정 : [0001] = 10

★ 변수의 설정 : [0002] = 2

★ 라벨 : return

★ 조건 분기 : 변수 [0001]이 >= 1 일 경우

  ★ 변수의 설정 : [0002] *= 2

  ★ 변수의 설정 : [0001] -= 1

  ★ 라벨로 이동 : return

  분기 종료

★ 문장의 표시 : \V[0002]


라벨에 대해 아시는 분은 이게 얼마나 큰 효과를 가졌는지 알게 될 겁니다.

라벨은.. 한글과컴퓨터 한글 에서 책갈피 기능을 수행한다고 보면 됩니다.

라벨의 이름은 원하는 대로 만들어도 되지만, 되도록 영어로 띄어쓰기 없이 만드는 것이 좋습니다. (오타 방지를 위해서입니다.)

이렇게 라벨을 달아 놓으면, 나중에 라벨로 쉽게 되돌아 갈 수 있습니다.

 

이벤트 2 의 해설 들어갑니다.


이벤트 2

★ 변수의 설정 : [0001] = 10 --> ①변수 [0001]에 10을 대입합니다. 현재 [0001]=10

★ 변수의 설정 : [0002] = 2 --> ②변수 [0002]에 2를 대입합니다. 현재 [0002]=2

★ 라벨 : return --> ③라벨을 넣었습니다. 이름은 return

★ 조건 분기 : 변수 [0001]이 >= 1 일 경우 --> ④여기서부터가 문제입니다.

  ★ 변수의 설정 : [0002] *= 2

  ★ 변수의 설정 : [0001] -= 1

  ★ 라벨로 이동 : return

  분기 종료

★ 문장의 표시 : \V[0002]


조건 분기에 첫 번째로 도달하였을 때, [0001]의 값은 10으로, 1 이상이므로 조건에 만족하여 조건 분기내의 이벤트가 실행됩니다.


이벤트 2

★ 변수의 설정 : [0001] = 10

★ 변수의 설정 : [0002] = 2

★ 라벨 : return

★ 조건 분기 : 변수 [0001]이 >= 1 일 경우

  ★ 변수의 설정 : [0002] *= 2 --> ⑤ [0002]가 2배가 됩니다. 현재 [0002]=4

  ★ 변수의 설정 : [0001] -= 1 --> ⑥ [0001]에서 1이 뺄셈 됩니다. 현재 [0001]=9

  ★ 라벨로 이동 : return --> ⑦!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  분기 종료

★ 문장의 표시 : \V[0002]


위의 "라벨로 이동" 이 어떤 행동일 것 같습니까?

라벨 : return 으로 이동하라는 겁니다.

 

그리하여

 

이벤트 2

★ 변수의 설정 : [0001] = 10

★ 변수의 설정 : [0002] = 2

★ 라벨 : return --> ⑧ 라벨 지정한 장소로 돌아왔습니다. 이름이 return인 라벨은 이 곳밖에 없으니까요.

★ 조건 분기 : 변수 [0001]이 >= 1 일 경우 --> ⑨ 2번째로 도달하는 조건 분기입니다.

  ★ 변수의 설정 : [0002] *= 2

  ★ 변수의 설정 : [0001] -= 1

  ★ 라벨로 이동 : return

  분기 종료

★ 문장의 표시 : \V[0002]


2번째로 조건 분기에 도달했을 때, [0001]=9, [0002]=4 입니다.

조건 분기 내용을 통과하여 다시 라벨로 이동에 도달할 때, [0001]=8, [0002]=8이 될 것입니다.


간단히 보겠습니다.


x=라벨로 이동 지점에 도달한 횟수, y=[0001]의 값, z=[0002]의 값


x,y,z 순서쌍

1,9,4

2,8,8

3,7,16

4,6,32

5,5,64

6,4,128

7,3,256

8,2,512

9,1,1024

10,0,2048

11,x,x --> 11번째에는 라벨로 이동에 도달하지 못합니다. 왜냐하면...


이벤트 2

★ 변수의 설정 : [0001] = 10

★ 변수의 설정 : [0002] = 2

★ 라벨 : return

★ 조건 분기 : 변수 [0001]이 >= 1 일 경우 --> 11번째 조건 분기에 도달했을 때, [0001]=0

  ★ 변수의 설정 : [0002] *= 2

  ★ 변수의 설정 : [0001] -= 1

  ★ 라벨로 이동 : return

  분기 종료

★ 문장의 표시 : \V[0002]


11번째 조건 분기에 도달하게 되면 [0001]=0이며, 이는 조건 분기의 조건에 만족하지 못하여, 조건 분기 내의 이벤트들을 무시하게 됩니다.  다시 말하면, 라벨로 이동 이벤트에 더 이상 도달하지 않게 되는 겁니다.

 

결국 드디어 반복이 끝나고, 결과값이 표시됩니다. 이 때 [0002]=2048 이므로 결과값은 2048이 출력됩니다.



라벨은 이렇게 이벤트의 특정 부분을 반복하는 데 쓰입니다.

거의 대다수가 조건 분기와 같이 쓰고 있습니다.

 

왜냐하면, 실수로라도, 특정 부분이 무한정 반복되도록 작성하게 되면 그건 곧 문제가 되는거거든요. 그대로 게임이 마비되어 버립니다.

그러니, 위와 같이, 특정 조건까지 도달하면 반복이 멈추도록 설계하여야 합니다.

 

또, 라벨 이름 지정 시 신중히 해야 해요.

가령 라벨 이름을 ruin 이라 했는데 라벨로 이동의 이름을 rain 이라 하면, 둘은 전혀 아무런 효과도 내지 못합니다.


 

변수의 조작에 보시면 알겠지만 제곱 항목이 없습니다.

제곱의 연산은 어쩔 수 없이 라벨을 이용해야 합니다.

 

 

다음 강의에는 이를 좀 응용해 보도록 하겠습니다.

 

P.S. 댓글을 달지 않는 행위는 이 세상에서 가장 잔혹한 행위일 지도 모릅니다.

  • ?
    카쿠즈 2011.11.22 18:08

    라벨이 뭔지도 몰랐는데..감사합니다

  • ?
    XP 팬 2011.12.10 08:10

    저두 RPG를 4년간 만들어 오면서 라벨이 뭔지도 몰랐는데 강좌 올려주셔서 감사합니다

  • ?
    키바 2011.12.16 23:13

    아....이제 라벨이 이해됬습니다....감사합니다!

  • ?
    변하지않는어려움 2013.02.25 22:55
    오오미, 자세하고 성의있는 해설 감사드립니다~

List of Articles
분류 제목 조회 수 추천 수
설치하기 RPG만들기XP 설치하기 2 file 12222 5
[중요] 전체화면으로 게임을 실행하기. 17 10703 4
오류해결 다른사람이올린 파일실행할때 "RGSS 작동중지" 해결법 1 9463 0
액션알피지 아마 가장 초보적이고도 획기적인(?) 액알? 28 file 8748 10
액션알피지 액알공격모션만들기... 23 file 7862 0
액션알피지 2페이지 액알기초강좌. 18 file 7748 12
화면/애니메이션 주변시야를 검정색으로 가리기 13 file 7006 0
액션알피지 액알 장거리공격,범위공격 14 file 6781 1
장르변경 2페이지 액알기초강좌. 18 file 6772 11
액션알피지 훨씬 멋진 액션알피지 만들기 24 6761 10
액션알피지 액알 2 6293 1
RPG만들기 XP 집만들기,움직이고 소리나는 문 만들기 6 file 5732 6
세이브/메뉴 RPG XP처음화면(플레이 화면)변경강좌.. 7 file 5566 2
몬스터 아오오니 처럼 따라오게 만들기(보완) 7 file 5563 0
액션알피지 xp 커먼이벤트를 이용한 액알 예제 3 file 5447 1
소스관리 RTP 소재 추가하기 2 5426 0
기능구현 특별한 암호. 한글로 된 암호 만들기. 7 file 5384 0
액션알피지 노르의 엄청 쉬운 액알 강좌.딱 2페이지 1 file 5287 0
왕초보 왕초보용 액알 19 file 5222 1
액션알피지 예전에 썼었던 액알 커맨드 3 5195 0
장르변경 훨씬 멋진 액션알피지 만들기 19 5164 10
몬스터 아오오니? (맵 바껴도 따라오게...) 예제 14 file 5086 1
오류해결 "DirectX Audio의 초기화에 실패하였습니다." 메시지 오류 해결법 5059 0
장르변경 액알 장거리공격,범위공격 9 file 5055 1
집에 들어가는 문 만들기 9 file 5033 0
액션알피지 젠피아(Jenpia)님의 왕초보용 액알 게임오버 안되는거 해결법 5 file 5025 0
시작하기 배포용 파일 만들기 6 file 4813 1
오류해결 RPG 만들기 게임 소리가 안날 경우 file 4769 0
이벤트 자기만의 CG를 만들어보자. 12 file 4757 0
몬스터 이벤트를 이용한 액알만들기 7 file 4663 0
맵만들기를 못해서 다운로드만 받고있다? 넌 누구냐의 맵만들기-작은 초원 6 file 4604 0
액션알피지 칼 휘두르는 모션! 5 file 4547 1
집만들기, 움직이고 소리나는 문 만들기 5 file 4376 6
타이틀 [제 2강] 타이틀 화면 바꾸기 2 4374 0
기능구현 낚시 기능 구현하기 22 file 4367 8
캐릭터/이벤트(NPC) NPC에게 말 걸고 NPC 이동시키기 5 file 4360 1
스위치 스위치기능을 대표로한 게임 예제 6 file 4331 0
기능구현 "아오오니 게임" 아오오니가 따라오고 문까지 따서 쫒아오는 기능을 구현해보자! 11 file 4316 0
퀘스트 [re] 전직퀘스트 만드는법 13 file 4314 0
장르변경 예전에 썼었던 액알 커맨드 1 4281 0
퀘스트 토끼 5마리 이상 잡아오기 퀘스트 7 4272 1
이벤트 [초급] 이벤트의 특성 15 4254 2
아이템 보물상자열기 (이미지,첨부파일) 4 file 4247 0
왕초보 위에 이름뜨는 스크립트 넣어도 액터만 뜨고 NPC는 안뜨시는 분들 보세요~!!!!!!!!!!!!!! 5 4214 0
액션알피지 스크립트와 이벤트를 합쳐 어색하지 않은 액션알피지 만들기 1 file 4209 0
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10

Copyright ⓒ Nioting All Rights Reserved. (since 1999)    개인정보
        

Fatal error: Cannot access property sessionController::$lifetime in /web/old/xe/modules/session/session.controller.php on line 45