TimpaniでRPGを作ろう!

―番外編2 『つばめ飛ぶ』地図画面の作り方―


トップページに戻る




赤で示したボタンの番号は9番です。

地図画面は、全て「ボタン」を使っています。
スクリプトは、カードのスクリプトと、ボタンのスクリプトの2種類を使っています。

赤で囲ったボタンには、スクリプトは入っていません。青で示した、「図書室に戻る」ボタンと、その他のボタンには、スクリプトが入っています。

下に、『つばめ飛ぶ』で使ったスクリプトを挙げます。赤字は、私のコメントです。







地図画面のカードスクリプト

ゲームの進行状況によって、どのボタンが表示されるかを制御します。

on opencardon opencard〜end opencardに挟まれた命令文は、カードが開かれたとき、自動的に始まる出来事を制御するものです。

hide cd btn "Patelamunt"まず、ゲーム開始直後には現われないボタン全てを消します。
hide cd btn "Abenberg"
hide cd btn "大樹海"
hide cd btn "Soltane"
hide cd btn "Graharz"
if CondStr(28,65) then=ストーリー進行が28以上65未満の時
show cd btn "Patelamunt"=「Patelamunt」という名前のボタンを表示せよ
end if=条件文終り
if CondStr(35,65) then
show cd btn "Abenberg"
show cd btn "大樹海"
end if
if CondStr(43,65) then
show cd btn "Soltane"
show cd btn "Graharz"
end if
end opencard


on reset
set rect of bg fld id 1 to -4,-1,417,289
set locktext of bg fld 1 to true
end reset

on reset〜end resetは、Timpaniにもともとついているスクリプトで、画面がずれないようにしています。






地図のボタンのスクリプト

ここでは、トリアントのボタンのスクリプトを挙げています。


on mouseEnteron mouseEnter〜end mouseEnterは、カーソルがボタンの上に乗った時に、自動的に始まる出来事を制御します。
put "トリアントです。"=「トリアントです。」をメッセージボックス(台詞が出るところですね)に表示せよ。
set icon of cd btn 9 to 12024=カードボタン9番のアイコンを12024番に変更せよ。「cd btn 9」を「cd btn "[ボタンの名前]"」に書き換えても構いません。「12024」というのは、アイコンのIDです。ここでは、トリアントの紋章アイコンのIDです。
end mouseEnter

on mouseUpon mouseUp〜end mouseUpは、そのボタンがクリックされた時に始まる出来事を制御します。
if condStr(1,4) then
castTell "つばめ「今日のおつかいはこの街。」",-1,
castTell "つばめ「支部に薬を届けて、それから森で薬草を摘むの。」",-1,
castTell "つばめ「森の中の空き地の南側に生えている木の根元に」",-1,
castTell "つばめ「生えているんだって。」",-1
else
castTell "つばめ「ここの平野を直接管轄しているのはこの支部。」",-1,
castTell "つばめ「他にも、地方行政の組織がたくさんあるみたい。」",-1,
castTell "つばめ「できるだけ分散させるってことだろうと思うわ。」",-1
end if
end mouseUp

on mouseLeaveon mouseLeave〜end mouseLeaveは、カーソルがボタンから離れた時に始まる出来事を制御します。
set icon of cd btn 9 to 9761この、9761番のアイコンは、Timpaniについているアイコンではなく、HyperCard Lite / Playerにもともとついているものです。HyperCard Lite / Playerを、ResEditで開くと、見ることができます。
hide msgメッセージボックス自体を消去します。
end mouseLeave







「図書室に戻る」ボタンのスクリプト


on mouseUp
go cd "[カードの名前]"
end mouseUp




トップページに戻る










最終更新:2005年7月24日