JavaScript向けPlatinum製マップ(.fmf)読み込みスクリプトを公開
こんにちは!
デモ
使い方
本スクリプトには次のクラスとメソッドが用意されています。
PlMapクラス
プロパティ
- mapWidth マップの横幅(チップ数)
- mapHeight マップの縦幅(チップ数)
- chipWidth マップチップひとつの横幅(px)
- chipHeight マップチップひとつの縦幅(px)
- layerCount レイヤの数
- bitCount レイヤーデータのビットカウント(8 | 16)
- src マップファイルのパス
- loaded 読み込みが完了(true|false(初期値))
メソッド
- load( (path) )
- (path) マップファイル(.fmf)のパス(省略可)
マップファイルを読み込み、各種データをプロパティに格納します。
読み込み完了時、loadedプロパティにtrueが格納されます。
- getChip( x, y, layer )
- x X座標
- y Y座標
- layer レイヤ番号
指定した座標およびレイヤのマップチップ番号を返します。
マップファイルが読み込まれていないときはfalseを返します。
おまけ
そもそも何でPlatinumを使うの?
例えばJavaScriptでゲームを作る際、enchant.jsであればenchantMapEditorなど、専用に作られたマップエディタは幾つか存在するけれど、いずれもレイヤへの未対応などまだ機能が充実しているとは言い難い。*1
そこで、汎用マップエディタとして、2Dゲーム向けマップの作成に必要な機能を取り揃えたPlatinumを利用し、JS製ゲームのマップ作成を大きく楽にしようというのがこのスクリプトの狙い。
*1:JavaScript向けゲームエンジンとして著名なIMPACT付属のマップエディタ等、高機能なものもあるが、IMPACTは個人利用には些か値が張るので、ここでは割愛