たんしおツクール>初心者ガイド

日本語/English

ツクールメニュー
初心者ガイド

サンプル1の解説

ここでは、サンプル1の内容を解説していきます。

まずはサンプル1をダウンロードして、ファイルを解凍してみましょう。

以下のファイルが入っています。

tansio.swf

sample.html

script.txt

image/akari.gif

image/takane.gif

image/title.gif

image/wallpaper.png

tansio.swf

これが本体となるゲームプログラムです。

script.txt

これがスクリプトファイルです。

ここにいろいろと処理を記述してゲームを作っていきます。

Ver0.08より、ダウンロード防止の為に拡張子をcgiに変更しました。

tansio.swfと同一フォルダに設置してください。

sample.html

サイトに貼り付けるとき用のタグを記述したHTMLファイルです。

imageフォルダ内のファイル

今回のサンプルで使用する画像です。

スクリプトファイルの解説

「script.txt」を開いてみましょう。

このファイルは「Shift-JIS」で保存する必要があります。

ウィンドウズなら、メモ帳でも秀丸でも、通常は「Shift-JIS」で保存されるはずです。

プログラム経験のある方なら想像つくと思いますが、「//」と書くと、その行はコメントとなり、プログラムと関係のないことを自由に書くことができます。

//でない一番最初の箇所が、8行目の”[Init]”。

”[Init]”のように[]で括ってあるものを「ラベル」と呼びます。

ラベルを作っておくと、その場所に自由に制御を移すことが出来ます。

たんしおスクリプトでは、読み込み開始時に”[Init]”ラベルが、ゲーム開始時に”[Start]”ラベルが呼び出されます。

なので、かならずこの2つのラベルは用意しなければなりません。

[Init]ラベルの処理

ここで、必要なデータを読み込む処理を記述します。

まずはLoadImageを使ってゲーム中に使う画像を読み込みましょう。

サンプルスクリプト14行目から

LoadImage( 0, "image/takane.gif" ) ; // 0:高嶺さんの画像

LoadImage( 1, "image/title.gif" ) ; // 1:タイトル画面

LoadImage( 2, "image/wallpaper.png" ) ; // 2:背景

LoadImage( 3, "image/akari.gif" ) ; // 3:あかりの画像

ゲーム中に使う画像は、この[Init]内で全て読み込んでおかなければなりません。

書式は

LoadImage( 画像番号, ファイル名 ) ;

です。

画像を読み込んで格納する場所が0〜99の100個あります。

画像番号は、その格納場所になります。

例えば、このサンプルでは1番にタイトルを読み込んでいます。

タイトルを表示したい所で「画像番号1」を指定して画像を表示すれば、タイトルが表示されることになります。

「画像番号0」にすれば高嶺さん画像になります。

なお、命令の終わりには必ず「;」を入れてください。

サンプルでは画像を読み込んだ後、19行目でEnd()命令があります。

初期化でやるべきことが終わったら、このEnd()を記述してください。

[Start]ラベルの処理

LoadImageで指定した画像が全て読み込まれると、ゲーム開始となり”[Start]”ラベルが実行されます。

ここがゲーム本編となります。

DelSprite

[Start]ラベルの直後、30行目に

DelSprite( _ALL, 0 ) ;

というのがあります。

これは「生成した全てのスプライトを削除する命令」です。

ゲームが始まったばかりで、この時点ではスプライトは生成してないわけですが、実はゲームが終了してタイトルに戻ってくるときにも、ここに飛んできます。

ゲーム中に生成したスプライトの削除忘れなどの対策のため、シーンの切り替わりでこの命令を書いておくことをオススメします。

タイトル画面を作る

画面に絵を表示するには、スプライト機能を使用します。

サンプル35行目

Sprite( 0, 1, _ALIGN_CENTER, 0, 0, _PRIO_NORMAL, 0 ) ;

これでタイトル画面を表示しています。

まず最初の数値の0、これはスプライト番号をあらわします。

画面に複数のスプライトを表示する場合には、0、1、2・・・と割り振ってください。

0〜99の範囲で指定することが出来ます。

表示したスプライトを消去する場合にも、この番号を指定することになります。

次の数値1、これは画像番号です。

初期化のLoadImageで読み込んだ画像番号を指定します。

次の_ALIGN_CENTER、これは画面の位置あわせを指定します。

_ALIGN_CENTERと書いた場合、画面中央に表示されます。

次の0,0、これはXとYの座標を指定します(_ALIGN_CENTERを指定しているので、0,0で画面中央に表示されます)。

次の_PRIO_NORMAL、これは画面の表示優先順位を示します。

基本的には_PRIO_NORMALを指定しておけば問題ないです。

最後の0、これは表示されるまでのフレーム数を指定します。

0を指定すると一瞬で表示です。

フレームは30で1秒になります。

例えば、300を指定すると10秒かけてじわじわと表示されます。

背景の設定

サンプル40行目

BackGround( 2, 1, 1 ) ;

最初の2は、画像番号です。

LoadImageで読み込んだ画像番号を指定します。

次の1,1は、スクロール速度です。

スクロールさせたくない場合は0,0と指定してください。

フェードインして画面表示

サンプル44行目

FadeIn( 30 ) ;

Wait( 30 ) ;

FadeInで、画面がフェードインして表示されていきます。

30はフレーム数です。これで1秒です。

Waitは、指定したフレームの間待機する命令です。

この命令を入れない場合、画面が表示される前にどんどん以降の処理を行っていってしまいます。

入力待ち

サンプル48行目

プレイヤーがマウスをクリックするまで待機します。

タイトル終了

サンプル51行目〜

FadeOut( 30 ) ;

Wait( 30 ) ;

DelSprite( _ALL, 0 ) ;

画面をフェードアウトして消して、画面が完全に消えてから全てのスプライトを消しています。

ゲーム開始

サンプル56行目〜

FadeIn( 30 ) ;

Wait( 30 ) ;

スプライトを全て消しているので、背景だけが表示されている状態でゲーム開始です。

メッセージウィンドウを開く

サンプル61行目〜

これで、画面下にメッセージウィンドウが表示されます。

メッセージを表示する

Message( "メッセージ" ) ;

と記述すると、1行メッセージを表示できます。

複数行メッセージを表示するときは、

_M_START_

ここにメッセージを書き込む

_M_END_

と記述すると、メッセージウィンドウの中に文字を表示することが出来ます。

メッセージウィンドウは、横が全角20文字、縦が4文字表示できます。

また、メッセージ内に半角の「@S」を入れておくと、その場所で▼マークが表示されてプレイヤーがマウスクリックするまで待機します。

半角の「@C」を入れると、メッセージウィンドウの文字を全てクリアします。

半角の@, [, ]は内部的に使用するので画面に表示することは出来ません。

選択肢による分岐

サンプル101行目〜

[Select]( "[Sel_1]その1", "[Sel_2]その2", "[Sel_3]その3" ) ;

これで、選択肢を表示して分岐処理を行います。

分岐の選択肢を半角の""で括って、選択肢の数だけ記述してください。

選択肢の先頭にラベルを記述しておくと、選択肢が選ばれたときにそのラベルへジャンプします。

おしまい

サンプル146行目〜

FadeOut( 30 ) ;

Wait( 60 ) ;

DelSprite( _ALL, 0 ) ;

これで画面フェードして全て消えます。

サンプル138行目

Jump( "[Start]" ) ;

Jump命令は、指定したラベルに飛ぶ処理です。

ラベルは、必ず半角の""で括ってください。

これでタイトル画面に戻ります。

広告
おすすめオンラインゲーム