이 강의는 MPPC (미소녀 & PocketPC)Pure Ani에게 저작권이 있습니다.

이번 강의는 온스크립터에서의 버튼을 만드는 강의입니다.

1. spbtn
스프라이트를 버튼으로 사용하는 명령어입니다.
사용법은 "spbtn 스프라이트번호, 버튼번호"입니다.

2. btnwait
버튼이 눌리기까지를 기다리는 명령어입니다.
사용법은 "btnwait %변수"입니다.

이때, 변수에 돌아오는 값이 -1 일 경우.
마우스 오른쪽 버튼을 클릭한겁니다.
0 일경우는 버튼이 아는곳을 클릭했을 경우입니다.
1 이상일 경우는 버튼을 클릭한 경우입니다.

위의 2가지를 테스트해보겠습니다.

아래의 내용으로 0.txt를 생성해주세요.

참고로 테스트 환경은 640 x 480 (VGA)환경입니다.

*define
rmenu "画像表示",windowerase ,"セーブ",save,"ロード",load,"選択肢まで進む",skip,"回想",lookback,"終了する",reset
transmode alpha

game
*start

bg "Graphic/TITLEBG00.png", 1
lsp 1,":s/22,22,2;#808080#FFFF00 START",245,330
lsp 2,":s/22,22,2;#808080#FFFF00 LOAD",245,360
lsp 3,":s/22,22,2;#808080#FFFF00 END",245,390
*titleselect
spbtn 1,1
spbtn 2,2
spbtn 3,3
btnwait %0
if %0 == 0 goto *titleselect
if %0 == -1 systemcall rmenu
if %0 == 1 csp -1:goto *prologue
if %0 == 2 systemcall load
if %0 == 3 end
goto *titleselect

*prologue
bg "Bg/BGSP_15A.png", 1
lsp 1,"System/NAMEWIN.jpg",30,290
setwindow 30,350,20,23,26,26,0,2,20,1,1,"System/MSGWIN.jpg",30,325
 なにか理由があったわけじゃない。\

제가 테스트 할때의 명령어입니다.

강의를 적기위한 급조된 명령어 리스트이므로, 게임 스크립트로는 의미는 없습니다.

위의 명령어를 그대로 적용시켜서 실행해본 온스크립터.

이 강의를 보시는 분들은 아래에 간략히 필요한 설명만 적어둘테니, 수정이 필요한 명령어는 직접 수정해주세요.
이곳에 설명을 적지 않는것은 다른 강의에 있는 설명입니다.

위의 명령어 리스트 간략 설명입니다.

이해가 안가는 부분은 해당 명령어를 지운후 실행을 해보세요.

a. rmenu "画像表示",windowerase ,"セーブ",save,"ロード",load,"選択肢まで進む",skip,"回想",lookback,"終了する",reset
시스템 호출이 가능하게 해주는 명령어입니다.
마우스 오른쪽 버튼을 눌러서 호출한 시스템 메뉴.

b. lsp 1,":s/22,22,2;#808080#FFFF00 START",245,330
기초적인 사용예는 "3. 화면에 이미지를 표시하는 명령어에는 어떤것들이?"의 6번을 확인해주세요.
여기서는 :s/22,22,2;#808080#FFFF00 START만을 설명합니다.
:s/ 텍스트를 사용한다는 뜻입니다.
22,22,2; 텍스트의 가로폭, 세로폭, 모르는 부분; 입니다.
#808080#FFFF00 앞의 #색상코드는 버튼의 색상, 뒤의 #색상코드는 마우스를 가져다 댈시 나타낼 색상입니다.
START 버튼의 텍스트입니다.
START 버튼에 마우스를 가져갔을 경우 발생하면 색상변화.

c. goto *titleselect
*titleselect 가 표시된 파트로 이동을 합니다.
goto *책갈피 *책갈피로 이동을 하는 명령어입니다.

d. systemcall rmenu
systemcall 말그래도 시스템을 호출합니다.
a에서 설명한 명령어를 선언하셧다면, systemcall로 언제든지 호출이 가능합니다.
"systemcall 호출할 시스템"으로 원하는 시스템이 호출가능합니다.
systemcall rmenu 의 경우 전체적인 메뉴를 호출.
systemcall load 의 경우 로드 메뉴를 호출합니다.
LOAD버튼으로 로드메뉴를 호출한 화면.

e. *titleselect 와 goto *titleselect
버튼이 아닌것을 눌렀을때와 시스템 메뉴에서 다시 타이틀 화면으로 돌아왔을때, 다시 버튼을 누르도록 해주는 명령어입니다.
전자의 경우는 if %0 == 0 goto *titleselect 명령어, 후자의 경우는 goto *titleselect 입니다.
전자의 경우는 이번강의와 위의 c로 이해가 가능하실테니, 후자에 대한 설명입니다.
아마 모든 프로그램이 그럴겁니다.
특별한 명령어나 기능이 없는 이상 위에서 아래로 순차적으로 읽습니다.
따라서 시스템명령어로 갔다가 다시 돌아왔을 경우 if문을 지나 goto *titleselect로 바로 가게 됩니다.
따라서 goto *titleselect가 없게되면 바로 아래의 명령어인 *prologue가 실행되게 됩니다.

f. setwindow 30,350,20,23,26,26,0,2,20,1,1,"System/MSGWIN.jpg",30,325
텍스트 윈도우의 표시방법을 설정하는 명령어입니다.
사용법은 추후 자세히 설명하겠습니다.
setwindow 명령어로 화면에 표시한 텍스트창.

g. if %0 == 문자
변수에 어떤 값이 들어가있느냐에 따라 갈리는 분기부분입니다.
(ex : %0 == 1 변수 %0에 1이 들어가 있는지를 확인합니다.)
이 명령어로 플레이어가 어떤 버튼을 눌렀는지 확인이 가능합니다.

이것으로 이번 강의는 종료입니다.

이번 강의는 뭔가 어려운 부분이 많이 있는데요.

프로그래밍적인 요소가 본격적으로 들어가있기 때문에 어렵게 느껴지실수도 있습니다만, 천천히 하나하나 테스트 해보시면서 이해하시면 될듯 합니다.

프로그래밍 지식이 아예 없으셔서 이해가 불가능하다 하시는 분은, 프로그래밍 커뮤니티나 프로그래밍 관련 서적을 한권 사셔서 읽어보시는것 추천합니다.

작성자 Pure Ani
출 처 MPPC (미소녀 & PocketPC)

Posted by Pure Ani

RE:D Cherish! -Eternity Blood- CRYSTALiA

放課後シンデレラ2 HOOKSOFT

花鐘カナデ*グラム NanaWind

フタマタ恋愛 ASa Project

スタディ§ステディ2 ま~まれぇど

リンパにATATA! ~メス牡蠣ミルクどぴゅらっしゅ~ Hending

創作彼女の恋愛公式 Aino+Links

流星ワールドアクター Heliodor

Secret Agent~騎士学園の忍びなるもの~ ensemble

天冥のコンキスタ エウシュリー

HaremKingdom -ハーレムキングダム- SMEE

ラズベリーキューブ まどそふと

ノラと皇女と野良猫ハート2 -Nora, Princess, and Crying Cat.- HARUKAZE

『ノラと皇女と野良猫ハート2』応援中♪

ピュアソングガーデン PULLTOP

はにデビ! Honey&Devil eufonie

姫繰三六五 HIMEKURI365

姫繰三六五 公式ウェブサイト

はるるみなもに! クロシェット

死に逝く君、館に芽吹く憎悪 バグシステム

Sanguinea-サングイネア- すにぃる

麗華の館 しすたーそふと

カスタムメイドオンライン KISS