Manuals
Manuals




This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English

タイルマップ

タイルマップ(Tile Map) は、タイルソース(Tile Source) のタイルを広いグリッド領域に組み合わせて配置したり、描画したりできるコンポーネント(component)です。タイルマップは、ゲームのレベル環境を構築するためによく使われます。また、タイルソースの コリジョン形状(Collision Shapes) をマップで使用し、衝突判定や物理シミュレーションに利用できます()。

タイルマップを作成するには、まずタイルソースを作成する必要があります。タイルソースの作成方法については、タイルソースマニュアルを参照してください。

タイルマップの作成

新しいタイルマップを作成するには、次の手順に従います。

  • Assets ブラウザー内の場所を 右クリック し、New... ▸ Tile Map を選択します。
  • ファイルに名前を付けます。
  • 新しいタイルマップがタイルマップエディターで自動的に開きます。

    新しいタイルマップ

  • Tile Source プロパティに、準備したタイルソースファイルを設定します。

タイルマップにタイルを描画するには、次の手順に従います。

  1. Outline ビューで、描画先の Layer を選択または作成します。
  2. ブラシとして使用するタイルを選択します(Space を押すとタイルパレットが表示されます)。または、パレット内でクリックしてドラッグし、複数のタイルを選択して、複数タイルで構成される長方形のブラシを作成します。

    パレット

  3. 選択したブラシで描画します。タイルを消すには、空のタイルを選んでブラシとして使用するか、消しゴム(Edit ▸ Select Eraser)を選択します。

    タイルの描画

レイヤーから直接タイルを選び、選択範囲をブラシとして使用できます。Shift を押しながらタイルをクリックすると、そのタイルを現在のブラシとして選択できます。また、Shift を押しながらクリックしてドラッグすると、タイルのまとまりを選択して、より大きなブラシとして使用できます。同様に、Shift+Ctrl を押しながら操作するとタイルを切り取り、Shift+Alt を押しながら操作するとタイルを消すこともできます。

ブラシを時計回りに回転するには、Z を使用します。ブラシを水平方向に反転するには X を、垂直方向に反転するには Y を使用します。

タイルの選択

ゲームへのタイルマップの追加

ゲームにタイルマップを追加するには、次の手順に従います。

  1. タイルマップコンポーネントを格納するゲームオブジェクト(game object)を作成します。ゲームオブジェクトはファイル内に置くことも、コレクション(collection)内に直接作成することもできます。
  2. ゲームオブジェクトのルートを右クリックし、Add Component File を選択します。
  3. タイルマップファイルを選択します。

タイルマップの使用

実行時の操作

さまざまな関数やプロパティを使って、実行時にタイルマップを操作できます(使用方法については API ドキュメントを参照してください)。

スクリプトからのタイルの変更

ゲームの実行中に、タイルマップの内容を動的に読み書きできます。これには、tilemap.get_tile() 関数と tilemap.set_tile() 関数を使用します。

local tile = tilemap.get_tile("/level#map", "ground", x, y)

if tile == 2 then
    -- Replace grass-tile (2) with dangerous hole tile (number 4).
    tilemap.set_tile("/level#map", "ground", x, y, 4)
end

タイルマップのプロパティ

IdPositionRotationScale に加えて、次のコンポーネント固有のプロパティがあります。

Tile Source
タイルマップに使用するタイルソースのリソース(resource)です。
Material
タイルマップのレンダリングに使用するマテリアル(material)です。
Blend Mode
タイルマップのレンダリング時に使用するブレンドモード(blend mode)です。

ブレンドモード

Blend Mode プロパティは、コンポーネント(component)のグラフィックスを、その背後のグラフィックスとどのようにブレンドするかを定義します。使用できるブレンドモード(blend mode)とその計算方法は次のとおりです:

Alpha
通常のブレンド: src.a * src.rgb + (1 - src.a) * dst.rgb
Add
コンポーネントの対応するピクセルの色の値で、背景を明るくします: src.rgb + dst.rgb
Multiply
コンポーネントの対応するピクセルの値で、背景を暗くします: src.rgb * dst.rgb
Screen
Multiply とは逆の処理です。背景とコンポーネントの対応するピクセルの値を明るくします: src.rgb - dst.rgb * dst.rgb

プロパティの変更

タイルマップには、go.get()go.set() を使って操作できるさまざまなプロパティがあります。

tile_source
タイルマップのタイルソース(hash)です。タイルソースのリソースプロパティと go.set() を使って変更できます。API リファレンスの例を参照してください。
material
タイルマップのマテリアル(hash)です。マテリアルのリソースプロパティと go.set() を使って変更できます。API リファレンスの例を参照してください。

マテリアル定数

既定の tilemap マテリアル(material)には、go.set() または go.animate() を使って変更できる以下の定数があります(詳しくはマテリアルのマニュアルを参照してください)。例:

go.set("#tilemap", "tint", vmath.vector4(1,0,0,1))
go.animate("#tilemap", "tint", go.PLAYBACK_LOOP_PINGPONG, vmath.vector4(1,0,0,1), go.EASING_LINEAR, 2)
tint
タイルマップの色調(vector4)です。vector4 で色調を表し、x、y、z、w がそれぞれ赤、緑、青、アルファの色調に対応します。

プロジェクト設定

game.project ファイルには、タイルマップに関連するプロジェクト設定がいくつかあります。

外部ツール

Defold のタイルマップに直接エクスポートできる外部のマップ/レベルエディターがあります。

Tiled

Tiled は、直交、アイソメトリック、六角形のマップに対応した、よく知られた広く使われているマップエディターです。Tiled は幅広い機能を備えており、Defold に直接エクスポートできます。タイルマップのデータや追加のメタデータをエクスポートする方法については、Defold ユーザー「goeshard」によるこちらのブログ記事を参照してください。

Tilesetter

Tilesetter を使うと、シンプルな基本タイルから完全なタイルセットを自動作成できます。また、Defold に直接エクスポートできるマップエディターも備えています。