MapChip - hoge1e3/Tonyu2 GitHub Wiki

Map2

MapChipクラス

Map2でchip, chipAtメソッドでマップチップを読み出したときに返されるオブジェクトです。 1つのMapChipオブジェクトで、同じ位置にある複数のレイヤーにまたがるパターンを操作できます。

フィールド

  • map: もとのMap2オブジェクト
  • x,y: マップ上の位置(チップ座標)
  • layers: 操作対象となるレイヤーを表すレイヤー名の配列

プロパティ

  • pAll: layersの各要素(レイヤー名)をキーとし、各レイヤーのキャラクタパターンを値としたオブジェクト。書き込むとマップ上のキャラクタパターンを書き換えます。
  • p: layers[0]のレイヤーのキャラクタパターン。書き込むとマップ上のキャラクタパターンを書き換えます。

メソッド

  • moved(x,y): 同じマップの異なる座標(x,y)のチップを表す新しいMapChipオブジェクトを返します。layersはこのオブジェクトと同じです
  • movedBy(dx,dy): このチップから(dx,dy)だけ移動したチップを表す新しいMapChipオブジェクトを返します。layersはこのオブジェクトと同じです
  • withLayers(layers): layersには文字列または文字列の配列を指定します。このMapChipと同じ場所で、layersを変更した新しいMapChipオブジェクトを返します
  • has(p): 指定したパターンpがlayersのどれかのレイヤーにあるかを返します。
    • 見つからなかった場合nullを返します。
    • 見つかった場合、新しいMapChipオブジェクトを返します。
      • layersは見つかったレイヤー名1つからなる要素数1の配列になります。
    • pが配列の場合、pのいずれかがlayersのいずれかにあるかを判定します。
  • hasExcept(p): 指定したパターン(pは数値か数値の配列)以外がlayersのどれかにあるか返します。
    • 戻り値はhasと同じです
  • toActor(Class, params): このチップから指定したClassのActorを生成します。
    • パラメータが必要な場合paramsに渡します。{x,y,p}は自動的に渡されます。
      • x,y はこのチップのワールド座標
      • p はlayers[0]のレイヤーのキャラクタパターンです。
        • このキャラクタパターンはマップ上から削除されます(-1が書かれる)
  • toWorld()
    • このチップをワールド座標に変換します
  • getBuffer()
    • このチップが描かれているCanvasオブジェクトについての情報を次の形式で返します
      • canvas: Canvasオブジェクト
      • context: Canvasオブジェクトのコンテキスト
      • left, top ,width, height: 描画範囲