[戻る] |
開発環境 |
今回Java開発環境はMacOS Classic(OS 9)のMRJ SDK2.2を選択。単に持ってるMacが古いため。 もうこのソフトも相当古く(ダウンロードし直そうとして探してもappleのサイトから見つけられなくなってしまった)、Javaのバージョンは多分1.2くらい。1.4以上だと色々便利な機能が使えるらしいが、閲覧も古い環境でできるようにしたいので敢えて我慢。 OS XだとXcodeとかEclipseとか豪華なものが無料であるらしいが、コンパクトな作品を作るならコマンドラインのjavacにAppleScriptのドロップレットから渡せば充分であろう。 さてほとんどのMRJ SDKを解説しているサイトでは「このjavacのメッセージはそっけない」と書いてある。コンパイルエラーが出ても詳細がわからないのだと。私も最初作っていてそれが非常に困った。 しかし検索しまくってみるとなんと、デフォルトでSource encodingが「MacTECCode」になっているところを「MacTEC」に直すとちゃんと詳細なエラーメッセージが出る事が判明した。何故こうなっているのだ? |
作品 |
[WalkingMomo] うちの猫「ももっち」が歩く姿を数コマ用意し、アニメーションさせながら位置を動かすプログラムを作ってみた。放置するとちょっとスクリーンセーバーっぽい。(ただし隅のピクセルは更新されないので、当然実用には不適) そしてキーボードで自由に歩かせる機能をつけてみた。上下だけの時気持ち悪いが。 |
作品 |
[RPG風] - 使用画像について 前の作品でキーボード操作を導入したところ、結構ゲームっぽくて楽しかった。今までJavaScriptなどでは実現しにくかった機能のため新鮮なのだ。それでまたその延長でRPG風にフィールドを歩くものにした。 画像はWindowsの「RPGツクール」用に素材を公開しているサイトが多いと知ったので、そこからお借りした。しかし要するにこれは「RPGツクールを作る」行為で大いなる無駄である。でも楽しいからいいのだ。 |
作品 |
[RPG風 その2] - 使用画像について 「RPG風」ではごく狭いフィールドしかなかったので、もっと広大なマップを歩けるようにした。表示方式そのものを変えて、キャラクターのグラフィックは中央に固定しマップを相対的に動かしている。(キャラのチラツキがなくなる効果もある) プルダウンメニューで「C」のマップを選択すると、画面よりも広いマップが使える事がわかる。 実はMapのエディットも同じアプレットで可能だが、まだゴチャゴチャしているのでボタンを隠した。Perl CGIと連携して記録を行う事には既に成功した。 マップのグラフィックを増やし、「裏側を歩く」事もできる。 しかし負荷は飛躍的に上昇した。パソコンのパワーによって適切なSpeedが違うと思われる。 |
動作速度 |
Javaは動作が遅い。「RPG風 その2」は処理がかなり多くなり、私のMacではかなり動きがカクカクするようになってしまった。Java1.4が入っているOS Xでも起動できるのだが、滑らかになる替わりにコマ落ちする。CPUが弱い場合、OS 9の方が正直な動作をするようである。 うちには母の比較的パワフルなWindows機があるのでそちらで試してみると、これは理想通りに動いた。私のMacが古すぎるのだ。 |
作品(12/14追加) |
[RPG風 その3] - 使用画像について まず立札などのオブジェクトの前でボタンを押すとメッセージが表示されるようにした。更に、主人公以外のキャラクター(NPC)を立たせて同じように会話文を表示するようにした。ただし、キャラクターとなると足踏みをさせなければならないし、横や後ろから話しかけられた時にそちらへ向きを変える処理も必要である。 次にRPGでよくある「ランダムでウロウロする人」を実現した(現実にはいないが)。これはけっこう難しかったができた。まだちょっと処理が甘く、タイミングによっては主人公とスレ違ったり重なったりしてしまうかも知れない。 そして建物に「ドア」をつけた。前に立ってボタンを押すとアニメーションで開く。まだ建物の中には入れないが、「開く→メッセージ→また閉じる」という長いイベントを組み込んでみた。これで後で複雑な処理をする時に基礎となるシステムができた。 マップ「A」では基本の処理、「B」ではウロウロする人、「C」ではドアの処理と、複数でウロウロする人である。 前回重すぎたので負荷対策を施したところ、予想以上に効いて軽くなった。 |
〜次回 |
次はRPGの戦闘処理をやってみたい。 |