AREA 021
Featuring AlphaScript

WWA feat. AlphaScript とは?


サンプル画面その1   サンプル画面その2

◎ サンプルマップを開く (どんなことができるかがわかります) ◎

このマップで使われているスクリプトはコチラ


NAOさんのWWAを 管理人Rabitが開発した独自のスクリプト言語 AlphaScript と組み合わせて使えるように改造したものです。  これにより、テキストファイルを編集するだけ(=コンパイル不要!)でプログラムを組め、 それによってWWAにさまざまな演出を加えることができ、表現の幅を大きく広げることができます。  具体的には、文字列や図形の描画、半透明表現などです。 サウンド再生もできます。  その気になれば、3D表現を追加することも可能です。  WWAのプログラムファイルを差し替えるだけでOKで、専用ソフトをインストールする必要はありません。  当たり前ですが、これを使うにはWWAのマップ作成ツールの使い方を理解していることが前提となります。(「マクロ」も使いこなせることが望ましいです)  2015年追記: 現在は基本的にブラウザでJavaアプレットを動かせないので、今後は JavaScript 版のWWAを使いましょう!(検索してみてください) スクリプト言語なら、工夫次第でいろんなことができると思います。

AlphaScript の機能を使うには、WWAと一緒に AlphaScript 用のアプレットをHTMLに埋め込む必要があります。(正しく設置されていないと、エラーとなります)  こちらは表示用ではないので、基本的には1x1ピクセルの画面で良いです。  詳しくは配布ファイルに含まれる設置サンプルHTMLをご覧ください。  APPLETタグの順序や位置は自由です。  AlphaScript 側のパラメータには1つ1つ意味がありますが、 AlphaScript の解説に載っていないものについては、サンプルHTMLの通りにしてください。  また、基本的にWWA側のフレームレートと AlphaScript のフレームレートは同じ(=50)に設定してください。

AlphaScript 側では、プレイヤーの座標と主人公が乗っている背景パーツに指定されたコマンドIDを受け取り、 それによって処理を振り分けるのが基本になります。  詳細は、解説マップとスクリプトのサンプルをご覧ください。(サンプルマップをWWA作成ツールで開いてみるとわかりやすいです)  AlphaScript から直接WWA側のステータス値などを変えることはできません。  ただ、毎フレーム1つだけ任意の種類の背景パーツを別の背景パーツに置き換えられるので、これを使って間接的に様々なイベントを実現できます。 (例えば、パーツ番号を1つ増やして置き換える、というような処理も可能です)  ステータスの変更などについては、WWAの方で機能が充実していますので、これで十分だと思います。

あくまで、基本はWWAの演出を補助するためのものです。  WWAでできることはWWAでやり、ここぞという場面でスクリプトならではの演出を見せるのが良いと思います。

サンプルを見ていただければわかると思いますが、スクリプトは覗こうと思えば簡単に覗けてしまいます。  なので、隠し要素などを記述するのはオススメできません。  ただし、スクリプトを読みづらく変換する機能が搭載されていますので、それを利用するのも手です。(詳しくは AlphaScript の解説をご覧ください)

オリジナルのスクリプトを記述するには、当サイトの解説ページで AlphaScript の文法などについて理解しなければなりませんが、 サンプルマップのスクリプトの仕掛けをそのまま使ってもOKです。(ちょっと変更するだけで、いろいろできると思います)  自分でオリジナルのスクリプトを作りたい方は、当サイトの AlphaScript の解説をじっくり読んでください。

特殊なメモリ領域を使って情報のやり取りをしている関係で、拡張WWA、それと連携する AlphaScript 共に、複数個同時に起動できません(または、起動できても誤作動します)  WWAは普通は複数同時に起動するようなものではないので、それほど気にする必要はないですが、設置の際は一応注意書きしておいたほうが良いかもしれません。  また、何らかの理由で複数起動のチェックがうまく行かなかった場合、ブラウザを再起動してもエラーが解除されない場合があります(この場合は、最悪PCを再起動すれば、たぶん直ります...)

描画については、スクリプトを実行した結果の画面が、WWAのマップ画面に上から重ねる形で描画されます。 (WWA側のフレームレートで更新されます。ただし、メッセージ表示中などは停止)  なので、通常は常に最前面に表示される物体パーツを隠す、という使い方もできます。  画面の周囲の枠よりも後から描画するので、そのままだと枠より手前に見えます。  それを避けたければ、 AlphaScript 側で上から枠を描画してください。  あと、画面全体を使って描画する関係で、全体描画モード固定になります。 (なお、モンスターとの戦闘中など、一部だけが描画対象となる時は、その部分だけ AlphaScript の描画も無効になります)

通常のプログラムに比べ、スクリプトは1つ1つの処理に時間が掛かるので、あまり重い処理を行うのには向いていません。(コンパイルが必要ない利点の代償です)

CGIとの連携については、動作未確認ですが、 AlphaScript と関係のないパラメータを渡すだけなら、特に問題はないと思います。

マウスやキーの入力は、WWAがメッセージの表示中でなく、 AlphaScript 用のアプレットにフォーカスが与えられていれば、一応受け取ることができます。  この場合、一定の画面サイズを持たせる必要があります(フォーカスがある時は、画面の色が変わります)  それを使って、RPGとは全く関係ないミニゲームなどを実現できますが、それだとWWAと組み合わせる意味がないので、オススメしません^^;  (そういう人は、自分で一からプログラミングしたほうが良いですw)

その他、オリジナルマクロとして、キーやマウスの入力受け付けのON/OFF切り替え機能、プレイヤーの向き変更機能が追加されています。  サンプルマップでも一部で使用されています。  あと、メッセージやマクロにプレイヤー座標、ステータス値などを含められる機能も搭載しました。(四則演算も可能)

AlphaScript との連携にはWWAの拡張クラスを使用しているため、他のWWA拡張クラスと組み合わせて使うことはできません。(追加マクロを用意したのはそのためでもあります)

ブラウザのメニューから表示できるJavaコンソールを見ると、 よくわからない英語のエラーメッセージが出ていることがあるかもしれませんが、 作品が正常に動作していれば、気にしなくて良いと思います。 (・・・いや、本来は気にしないといけないのですが、いろいろ話が難しくなってしまうので  ̄∇ ̄;)

これを使って作ったWWAは、自由に公開していただいて構いません。  WWAの起動画面に改造者の名前が表示されるだけで、それ以外の表記やリンクは任意です。  管理人への連絡も不要です。(もちろん、ご一報いただければ嬉しいです)

バグ報告などは、掲示板またはメールで作者にご連絡いただければ幸いです。  ただし、本作は気まぐれに作って公開したものですし、 現在はこちらを中心に活動しているので、 アップデートやサポートについては保証いたしません(笑)

ダウンロードはこちらからどうぞ。

WWA feat. AlphaScript (2010/04/16 - LZH圧縮 148KB)


ダウンロード用ページに戻る

Copyright (c) Rabit 2005-2012 all rights reserved.