Almightのチュートリアルをみてみる

Almightのチュートリアルをやってみようということで、まずは全体を流し読みしてみました。

どうやら、Almightでは吉里吉里のタグを組み合わせたマクロを既にある程度用意してくれているみたいですね。

例えば、チュートリアルの「文字を表示させてみる」をみてみると

@call storage="macro.ks"

Almightへようこそ![m]
どんなゲームを作りますか?
@s

となっています。

吉里吉里ではたしかmというタグはなかったと思います。

そして、Almightのタグリストをみるとmというタグはないようなので、[m]はタグではなくマクロのようです。

macro.ksのファイルを開いてみると

// 改行する(クリック待ち)
// [m]
[macro name="m"]
  [endhact]
  [l][r]
[endmacro]

という記述がありました。

[endhact][l][r]吉里吉里のタグリファレンスにもあるので、こちらはタグですね。

[endhact]はメッセージ履歴でなにかしらアクションするときの終了を行うタグで、

[l]は行末のクリック待ちで[r]は改行するタグです。

ということで

Almightへようこそ![m]
どんなゲームを作りますか?

ということは、「Almightへようこそ!」のあとには、クリック待ちをして改行してあるんですね。

クリックされたら改行されたところから「どんなゲームを作りますか?」が表示されるようになるわけです。

吉里吉里で制作するときは、文末に複数タグをいれることが面倒だったので、上記のようなマクロを自分で作ることをしないといけませんでした。

それが予め用意されているというのは助かりますね。

他にもマクロは用意されているようで、おおまかにはメッセージ系と画像系と音声系のものがあるみたいです。

その一つに、背景画像を表示する show_bg というマクロなんかがあります。

@show_bg file="bg01.jpg"
@action

とすると file に指定した bg01.jpg が背景に読み込まれます。

show_bg のマクロをみてみると

// 背景を読み込む
// [show_bg file="ファイル名"]
//
//   背景を読み込みます。その後、[action]を使って実行してください。
//   jpgの場合のみ拡張子は省略可能になります

[macro name="show_bg"]
  [eval exp="mp.file = (mp.file.indexOf('.') === -1) ? mp.file + '.jpg' : mp.file"]
  [image storage="%file" page="back" layer="base"]
[endmacro]

となっています。

Almightでは、画像の扱いも吉里吉里の時と同様で、表のページと裏のページが用意されていて、表示するときに裏のページの画像を表のページの画像と入れ替えることでだんだんとフェードインするように表示することができるようです。

ということは、Show_bgだけでは page="back" となっているので裏のページに画像が読まれるだけで表示されないということです。

そこで

@show_bg file="bg01.jpg"
@action

の後の @action というマクロが役立つんですね。

このマクロの中身をみると

// 処理を実行する
// [action (time="フェード時間" rule="ルール画像のファイル名" skip="trueまたはfalse(デフォルト)")]
//
//   画像処理を実行します。全て省略すると、1秒かけてクロスフェードで実行されます。
//   ルール画像を指定すると、そのルール画像でフェードします。ルール画像はjpgの場合のみ拡張子は省略可能になります
//   なお、メッセージレイヤーはルール画像を指定してもクロスフェードで実行されます。
//   skipにtrueを指定すると、フェード処理がクリックでスキップ可能になります

[macro name="action"]
  [if exp="mp.time == 0"]
    [forelay]
  [else]
    [if exp="mp.rule != undefined"]
      [eval exp="mp.rule = (mp.rule.indexOf('.') === -1) ? mp.rule + '.png' : mp.rule"]
      [trans method="universal" rule="%rule" time="%time|1000"]
    [else]
      [trans method="crossfade" time="%time|1000"]
    [endif]
    [wt canskip="%skip|false"]
  [endif]
[endmacro]

となっています。

これは吉里吉里で画像をフェードインして表示させるためのトランジションという動きをさせている部分ですね。

[trans method="crossfade" time="%time|1000"] という部分がトランジションの部分です。

吉里吉里ではマクロを作らない場合は背景画像をトランジションで表示したいところに

@image storage="bg01.jpg" page="back" layer="base"
@trans method=crossfade time=1000
@wt canskip=true

という具合に書かなければなりませんでした。

ゲーム中は画像の表示はいっぱいあるので、正直いって背景画像を表示させるだけでこれだけ書くのは面倒です。

背景以外にもキャラクタの画像が複数表示されるときなんて、上に書いたような文章量では済みません。

ですが、Almightは予めそのためのマクロを作ってくれているので

@show_bg file="bg01.jpg"
@action

だけですむんですね。

いやー、これは実にありがたいことですよ!

メッセージ部分や音声の再生なんかもこういった具合でマクロが作ってあるので、始めから書く手間が省かれますし。

コピペしてちょこっと改変すれば応用がすぐにできますしね!

人気記事すべて表示

AlmightJSすべて表示