メッセージ(文章)の表示

スクリプトでメッセージを出す

まずは何でもいいので、とにかくテキストを表示してみましょう。

Ponkanでは、スクリプトファイルに書いた文字列(テキスト)がそのままメッセージとして画面に表示されるようになっています。

gamedataディレクトリの下にstart.ponというファイルがあります。 これが、ゲームが開始したときに一番最初に実行されるスクリプトファイルになります。 Ponkanのゲームはすべてstart.ponから始まります。

start.ponをテキストエディタで開いてみましょう。 テンプレートからゲームを作成した直後は、以下のような内容になっています。

# ゲーム開始スクリプト
;call file: "script/init_system.pon"

こんにちは。

この状態で、ゲームを実行してみてください。 ゲームの実行(表示)は、Windowsならstart.batをダブルクリック、Mac/Linuxならstart.shをターミナルから実行です。

こんにちは

画面に「こんにちは」と表示されました。

先ほどのstart.ponスクリプトにも「こんにちは。」と記載されている部分がありましたね。 その他にも色々な記載がありますが、まずは「こんにちは。」の部分だけに注目してください。

では試しに、この部分を「はじめてのPonkan」に変更してみましょう。

# ゲーム開始スクリプト
;call file: "script/init_system.pon"

はじめてのPonkan

このように編集してから、ブラウザのページを再読み込みしてみてください。

はじめてのPonkan

今度は「はじめてのPonkan」と表示されましたね。

このように、Ponkanのスクリプトでは、特殊な記述(命令)以外のテキストはすべて画面に表示されるようになっています。

start.ponの解説

先ほどのstart.ponでは、いくつかの特殊な記述(命令)が使われています。

# ゲーム開始スクリプト                   ←コメント行
;call file: "script/init_system.pon"     ←コマンド行

こんにちは。                             ←テキスト

コメント行

行の先頭が#から始まっている行は、コメント行です。 コメント行は、スクリプトファイルが実行されるときには無視されて、何も実行されません。

コメント行は、スクリプトファイル中に記載された注釈文です。 スクリプトファイルに書かれている内容について補足や解説を書くことができます。

コマンド行

行の先頭が;から始まっている行は、コマンド行です。 コマンド行は、Ponkanの様々な機能を実行するための命令文です。

たとえば先ほどのスクリプトでは、callコマンドを実行して、別のスクリプトファイルを呼び出して実行しています。

Ponkanには様々なコマンドが用意されており、コマンドを駆使することで大抵のことは実現できるようになっています。

コマンドの詳細については、コマンドリファレンスに記載されています。 ただ、数が膨大ですので、まずはこのマニュアルのチュートリアルを一通り体験してから参照するとよいでしょう。

テキスト

特殊な記述(命令)以外の文字は、すべてテキストとして扱われます。

テキストは、メッセージレイヤーに出力されます。メッセージレイヤーについては別章で説明します。

行末でクリックを待つ

次に、行末記号を出しながらプレイヤーのクリックを待つようにしてみましょう。

行末でクリックを待つには、linebreakコマンドを使用します。

また、Ponkanではスクリプト中に改行があっても、メッセージは改行されません。 メッセージを改行するには、brコマンドを使用する必要があります。

では、スクリプトを次のように変更してみましょう!

# ゲーム開始スクリプト
;call file: "script/init_system.pon"

こんにちは。
;linebreak
;br
改行して、2行目です。

変更したら、ページを再読み込みしましょう。

一行目 二行目

「こんにちは。」と表示された後にクリック待ち状態で停止して、クリックすると二行目が表示されたと思います。

ページ末でクリックを待つ

今度は行末ではなく、ページ末でクリック待ちをしてみましょう。

ページ末でクリックを待つには、pagebreakコマンドを使用します。

ページを切り替えるためには、メッセージをすべてクリアすればよいでしょう。 メッセージのクリアにはclearコマンドを使用します。

では、スクリプトを次のように変更してみましょう。

# ゲーム開始スクリプト
;call file: "script/init_system.pon"

こんにちは。
;linebreak
;br
改行して、2行目です。
;pagebreak
;clear
改ページして、2ページ目になりました。

これを実行すると、「改行して、2行目です。」の後にクリック待ちになり、 クリックすると改ページされます。

一行目 二行目

コマンド名の省略形について

linebreakpagebreakのような少し長いコマンドには、省略された名前が用意されています。

たとえばlinebreakには、省略形としてlblの2つが用意されています。 これらはどれも同じ動作になるので、好きなものを使用してください。 それぞれメリット・デメリットがあるので、場面によって使い分けるのもおすすめです。

  • 長い名前
    • メリット:省略されてないのでコマンドの意味が分かりやすい
    • デメリット:入力するのが大変
  • 短い名前
    • メリット:入力が楽
    • デメリット:コマンドの意味が分かりづらい