비주얼노벨 강좌

*본 글은 커니스의 연구소에서 배포할 때 기본값으로 설정되어있던 대체 명령어를 기반으로 합니다.



 #영상 설명


 처음은 쓰레드에 있는 대기 명령어를 활성화 했을 때의 장면입니다. 문제의 명령어가 있는 장면이 나타나기 전까지는 아무 일 없다가 쓰레드에 대기 명령어가 나타나자 그 이후 메뉴에서 문제가 발생하는 것을 볼 수 있습니다. 나타나는 현상은 다음과 같습니다.


 ------

 1. 회상 창의 CLOSE버튼이 정상적으로 작동하지 않음. 마우스 오른쪽을 클릭해야 종료됨.

 2. 세이브, 로드, 옵션 창이 켜지자마자 바로 종료됨.

 3. '대사' 명령어 뒤에 고양이 모양 진행표는 출력됨.

 ------


 다음은 쓰레드에 있는 대기 명령어를 주석처리 하여 쓰레드에 대기가 없을 때의 모습을 보여줍니다. 보시다시피, 세이브, 로드, 옵션 창이 정상적으로 나타나고 종료되는 것과 메세지로그의 close 버튼이 정상적으로 작동합니다. 다만 이때 대사 명령어 뒤에 나오는 고양이 모양 진행표는 나오지 않습니다.


 #추측 1

 우선 1번과 똑같은 현상을 일으키는 다른 원인은 버튼대기, 또는 대기 명령이 두 번 쓰였을 때입니다. 하지만 이 각각의 경우는 조금씩 다릅니다. 그 이유는 대기 명령어와 버튼대기 명령어의 미묘한 차이 때문입니다. 우선 아래의 예시를 보며 알아보도록 하겠습니다.


예--------------------------------------------------------

1-1. 대기 - 버튼대기

캡처222.PNG

 이 경우 CLOSE 버튼을 누르기 전에 다른 부분 한 번 클릭했다가 CLOSE 버튼을 누르면 정상작동하는 것을 알 수 있습니다. CLOSE 버튼을 먼저 누르면 제대로 종료되지 않고요.


1-2. 버튼대기 - 버튼대기

캡처223.PNG

 이 경우 CLOSE 버튼이 제대로 작동하게 하는 방법은 없습니다.

 

1-3. 버튼대기 - 대기

캡처224.PNG

 이 경우 버튼을 한 번 누르고 화면 어디든 다시 한 번 클릭하면 정상적으로 종료되는 것을 알 수 있습니다.

----------------------------------------------

 아까 위에서 이 차이가 발생하는 게 대기 명령어와 버튼대기 명령어의 미묘한 차이때문이라고 했었는데요, 이 미묘한 차이란 '대기'는 어디든 클릭(혹은 버튼 입력)만 있으면 다음 명령어로 넘어가는 반면, '버튼대기' 명령어는 버튼이 눌러질 때까지 다음으로 넘어가지 않기 때문입니다. 


 그렇다면 1번 현상은 어디에 가까울까요?


 실험을 통해 살펴본 결과 1-2번과 비슷하다는 결론을 얻었습니다. 이를 통해 추론할 수 있는 것은 다음과 같습니다.


## 1번 현상 가정

 1-가 : 버튼대기가 두 번 이상 반복된다.

 1-나 : 대기 명령어가 무한 반복된다.


 #추측 2

 반면 2 현상은 1번과는 다릅니다. 2 번 현상을 일으키는 다른 방법은 버튼대기를 없애는 것입니다. 

캡처225.PNG


  ## 2번 현상 가정

 어떤 것에 의해 버튼대기 명령어가 제대로 작동하고 있지 않다.


 # 쓰레드에 '대기'명령어를 넣는 생각을 한 이유.

 이것은 3 번과 관련있다. 대사 명령어 뒤에 나오는 고양이 모양 진행표(위 영상참조)를 나오게 하기 위해서는 대사 명령어가 있은 후 대기 명령어가 있어야 한다.

 그런데 쓰레드 안에 '대기' 명령어가 없으니 이 진행표가 나오지 않아서 대기를 한 번 더 넣을 생각을 했습니다. 이때 이렇게 해도 두 번 누르지 않아도 다음으로 넘어가지기에 별 문제 없는 것 같았습니다만, 메뉴 이용에 문제가 생기므로, 사용하지 않는 것을 권장합니다. 특히 그 장면 뿐 아니라 그 이후로 계속 메뉴 사용에 문제가 있으므로, 한 문장의 진행표를 희생하는 것이 좋다고 생각합니다.

Who's 하늘바라KSND

profile

하늘바라KSND

하늘

하늘이

늘바

바라

하바

하바케이

하바케이엔

하느님 

------------------------------

현재 하는 일 :



허걱님과 함꼐하는 하늘섬 환상세계 시나리오 작성 중.

자세한 경과는 이야기 연재란에서.

 

Lighna형과 함께하는 프로젝트, D.A 시나리오 작성 중.

프로젝트 D.A 많은 관심 부탁드려요~

http://projetda.tistory.com/

-------------------------------

 

ㅎㅎ. 안녕하세요 하늘바라 KSND 입니다. 

(96년생)

성별 : 남

사용툴 : VX

주요 활동 : 소설쓰기, 댓글, 뻘글, 글소글

 

블로그 주소 : http://hb_tjdtn.blog.me/                 

 

이전 준비 중

http://habakn.tistory.com/         

 

 


List of Articles
분류 제목 글쓴이 날짜 조회 수
Ren'Py 렌파이 관련 유용한 링크 모음 3 file 습작 2012.12.02 17640
Nekonovel 네코노벨 관련 유용한 링크 모음 1 file 습작 2012.11.19 11979
Visual Novel Maker 한글 텍스트 입력 file 러닝은빛 2017.11.21 1462
피니엔진 기본 틀 만들기 : 타이틀화면 file 하늘바라KSND 2017.11.15 1841
TyranoBuilder TyranoBuilder Visual Novel Studio Pro버전 한글패치 6 file 습작 2016.05.28 2191
피니엔진 FAL.노드이름에 관해서 알아보자. file 하늘바라KSND 2015.08.17 633
피니엔진 타이틀+클릭메뉴 예제 file 하늘바라KSND 2015.07.11 1110
피니엔진 애니메이션-스프라이트 간단한 팁 몇가지 하늘바라KSND 2015.07.11 1293
VNAP char로 캐릭터 출력 2 FNS키리토 2015.06.01 901
피니엔진 피니엔진 타이틀 만들기 예제(구버전) 1 file 하늘바라KSND 2015.01.27 1774
기타 비주얼 노벨을 처음 제작하시는 분들께 1 file FNS키리토 2015.01.11 13785
VNAP 선택지 발생 3 file FNS키리토 2015.01.11 2018
피니엔진 텍스트, 대화, 독백 명령어 하늘바라KSND 2014.12.21 1570
피니엔진 안드로이드로 배포판을 만들기 위해 필요한 것들 하늘바라KSND 2014.12.20 1530
Vasilriot 바실리어트 메뉴얼(3) 하늘바라KSND 2014.12.20 870
Vasilriot 바실리어트 메뉴얼(2) 하늘바라KSND 2014.12.20 702
Vasilriot 바실리어트 메뉴얼(1) 하늘바라KSND 2014.12.20 1423
Neko:기타 쓰레드에 '대기' 명령어를 넣었을 때 나타날 수 있는 현상 file 하늘바라KSND 2014.11.27 1031
Neko:응용 네코노벨 미니게임 관련 스크립트-글라스 스노우 하늘바라KSND 2013.06.27 3367
Vasilriot 해상도 조절에 관한 간단한 고찰 2 하늘바라KSND 2013.05.18 3145
Vasilriot 바실리어트의 최신 버전 file 하늘바라KSND 2013.05.11 4001
Vasilriot 바실리어트 기본 설정하기 - 폰트 :: font.ini file 하늘바라KSND 2013.05.11 3030
Board Pagination Prev 1 2 3 Next
/ 3