Game Maker Language リファレンス > 組み込み関数 用途別 > リソース操作・ルーム > 一般的なレイヤー関数 > layer_create()
この関数は、現在の部屋の中に新しいレイヤーを作成するために使用されます。新しいレイヤーが占める深さを指定すると、関数は一意のレイヤーID値を返します。この値を使用して、他の関数でレイヤーにアクセスできます。オプションの "name" 引数を指定することもできます。これにより、レイヤーに特定の名前(文字列として)を付けることができ、レイヤーIDを使用してレイヤーにアクセスする代わりに、この名前文字列を使用できます。名前文字列を使用すると、ID値のみを使用するよりもパフォーマンスに大きな影響を与えることに注意してください。レイヤーの名前を指定しない場合、作成されたレイヤーには「_layer_XXX」という形式の名前が割り当てられます。「XXX」は、レイヤーに一意の名前を付けるために使用される16進値です。
depth を指定する場合、これはレイヤーがカメラから「より遠く」高くなり、レイヤーがカメラに「より近く」低くなるため、深度が-100、0、100の3つのレイヤーがある場合、レイヤーは100、0、-100の順に描画されます。そのため、「トップ」レイヤー(つまり、カメラビューに最も近く、他のすべての上に描画されるレイヤー)は、深度が-100のレイヤーになります。
次の画像は、レイヤーで深度がどのように機能するかを示しています。
1つの深度に複数のレイヤーを割り当てることができますが、同じ深度のレイヤーが特定の順序で描画されることを保証する方法はないため、1つのレイヤーのみを割り当てるのが最善です。 任意の深さに。 また、レイヤーの最小深度と最大深度は-16000〜16000であり、これらの深度の外側はレンダリングされません。 その範囲外の深度が必要な場合は、layer_force_draw_depth() 関数を使用する必要があります。
layer_create(depth, [name])
global.Bullet_Layer = layer_create(-100);
上記コードは depth -100 のレイヤーを生成し、グローバル変数 "Bullet_Layer" にそのIDを格納しています