SRC遊んだり書いたり。時々プログラミング

SRCの感想とか技術解説とか、そんな感じのアレ!

JavaScript向けPlatinum製マップ(.fmf)読み込みスクリプトを公開

こんにちは!

デモ

使い方

本スクリプトには次のクラスとメソッドが用意されています。

PlMapクラス

プロパティ
  • mapWidth  マップの横幅(チップ数)
  • mapHeight  マップの縦幅(チップ数)
  • chipWidth  マップチップひとつの横幅(px)
  • chipHeight  マップチップひとつの縦幅(px)
  • layerCount  レイヤの数
  • bitCount  レイヤーデータのビットカウント(8 | 16)
  • src  マップファイルのパス
  • loaded  読み込みが完了(true|false(初期値))
インスタンスの生成
new PlMap( (path) )
  • (path)  マップファイル(.fmf)のパス(省略可)
メソッド
  • 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は個人利用には些か値が張るので、ここでは割愛