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

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

蒼穹の刺客達 第13章感想

第13章プレイ前に

作者のスフィルナさんから↓の吉報が!

クラスチェンジアイテムが…ある!

ご連絡を頂いてすぐさまキャンプ内の道具屋を覗いてみると、確かにクラスチェンジアイテムがありました。しかも結構安い!やったー!

続きを読む

蒼穹の刺客達 第12章感想

所感

正直に申しまして、マップ開始時は少しダレかけました*1が、新しく加入したユニットや二軍ユニットの育成をしていたら楽しくなってきたので再度復活。マップをクリアした頃にはホクホクでした。

*1:クラスチェンジアイテムが全然足りないから、成長が止まってるユニットがいっぱい!

続きを読む

蒼穹の刺客達 第11章感想

シナリオレビュー始めました

いつもTwitterで呟いていましたが、ブログの方が記録にも残るし色々都合良いよね!

シナリオ自体の紹介は後ほど

書きかけの下書きがあるので、後ほど公開します。
今回はプレイした部分の感想のみ。

続きを読む

(連想)配列をフラットにする

function array_flatten($arr, $key = null)
{
    $tmp = [];
    if (is_array($arr))
        foreach ($arr as $key => $value)
            $tmp = array_merge($tmp, $this->__array_flatten($value, $key));
    else {
        if (is_numeric($key))
            $tmp[] = $arr;
        else
            $tmp[$key] = $arr;
    }
    return $tmp;
}

これで

array(
  array(
    '0' => array(
      'foo' => 'bar'
    ),
    '1' => array(
      'faa' => 'bee'
    )
  )
);

という構造の(連想)配列が

array(
  'foo' => 'bar',
  'faa' => 'bee'
);

とフラット化する。ただの配列の値については0から始まる連番がキーに割り当てられる。

連想配列で同じキーの値があった時に、後方の値が優先される(前方の値が後方の値によって上書きされる)ことに注意。

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は個人利用には些か値が張るので、ここでは割愛

はてなグッズ福袋欲しい!

はてなダイアリー10周年おめでとう!

風邪ひいてました

休み前の金曜日~成人の日の夜までがっつり風邪をひいていました。 |||orz
ブログの更新も滞ってしまいましたね。てへぺろっ!

全然余談ですが、「ブログ」と入力しようとして、なぜか「ぼると」と入力していましたね。意味わかりませんね。疲れてるのよ

はてなダイアリーのおもいで

こんなん書いて誰得
はてなダイアリーには黒歴史が詰まっています。だからはてなブログに越してきたんですよ。何があったかって?聞かないで!