グループの表示順序

このエントリーをはてなブックマークに追加

 今回はグループ内で表示するオブジェクトの表示順序についてです。グループに追加すると上に載せていく感じに表示されます。

 

1. オブジェクトを作成しグループに登録

 円オブジェクトを色を変えて登録しています。赤色 -> 緑色 -> 青色の順でオブジェクトを作成し追加しています。すると、追加した順番っ通りに重なっていきます。

local group = display.newGroup()
— 赤色の円
local circle1 = display.newCircle(group, 150, 100, 50)
circle1:setFillColor(1, 0, 0, 1)
— 緑色の円
local circle2 = display.newCircle(group, 125, 150, 50)
circle2:setFillColor(0, 1, 0, 1)
— 青色の円
local circle3 = display.newCircle(group, 175, 150, 50)
circle3:setFillColor(0, 0, 1, 1)

 

 

2. オブジェクトの表示順番を入れ替える

 オブジェクトの順番を変更するには、同じグループに登録し直すと先頭に移動します。プログラムは赤字部分以外、1章と同様です。

local group = display.newGroup()
— 赤色の円
local circle1 = display.newCircle(group, 150, 100, 50)
circle1:setFillColor(1, 0, 0, 1)
— 緑色の円
local circle2 = display.newCircle(group, 125, 150, 50)
circle2:setFillColor(0, 1, 0, 1)
— 青色の円
local circle3 = display.newCircle(group, 175, 150, 50)
circle3:setFillColor(0, 0, 1, 1)

— 先頭に移動
group:insert(circle2)

 

 

3. グループ単位の順番

 グループ単位での表示順序もオブジェクトの順序と同じです。

— グループの作成
local group = display.newGroup()
local group1 = display.newGroup()
local group2 = display.newGroup()
local group3 = display.newGroup()

— グループ1~3を親のグループに登録
group:insert(group1)
group:insert(group2)
group:insert(group3)

— グループ1(赤色)
local circle1 = display.newCircle(group1, 150, 100, 50)
circle1:setFillColor(1, 0, 0, 1)
local rect1 = display.newRect(group1, 150, 100, 200, 50)
rect1:setFillColor(1, 0, 0, 1)

— グループ1(緑色)
local circle2 = display.newCircle(group2, 125, 150, 50)
circle2:setFillColor(0, 1, 0, 1)
local rect2 = display.newRect(group2, 125, 150, 50, 200)
rect2:setFillColor(0, 1, 0, 1)

— グループ1(青色)
local circle3 = display.newCircle(group3, 175, 150, 50)
circle3:setFillColor(0, 0, 1, 1)
local rect3 = display.newRect(group3, 175, 150, 50, 200)
rect3:setFillColor(0, 0, 1, 1)

 

 

4. グループ単位の順番入れ替え

 グループ単位であっても、オブジェクト単位と同様です。グループごと順番が変わります。プログラムは赤字部分以外、3章と同様です。

— グループの作成
local group = display.newGroup()
local group1 = display.newGroup()
local group2 = display.newGroup()
local group3 = display.newGroup()

— グループ1~3を親のグループに登録
group:insert(group1)
group:insert(group2)
group:insert(group3)

— グループ1(赤色)
local circle1 = display.newCircle(group1, 150, 100, 50)
circle1:setFillColor(1, 0, 0, 1)
local rect1 = display.newRect(group1, 150, 100, 200, 50)
rect1:setFillColor(1, 0, 0, 1)

— グループ1(緑色)
local circle2 = display.newCircle(group2, 125, 150, 50)
circle2:setFillColor(0, 1, 0, 1)
local rect2 = display.newRect(group2, 125, 150, 50, 200)
rect2:setFillColor(0, 1, 0, 1)

— グループ1(青色)
local circle3 = display.newCircle(group3, 175, 150, 50)
circle3:setFillColor(0, 0, 1, 1)
local rect3 = display.newRect(group3, 175, 150, 50, 200)
rect3:setFillColor(0, 0, 1, 1)

— 先頭に移動
group:insert(group1)

 

 

5. 順番変更について

 順番を指定して入れ替えるということは出来ません。順番を変える場合、1つずつ先頭に移動するしかありません。

       

<更新履歴>

更新日 Corona SDKのバージョン
新規作成 2015年8月14日 v2015.2646

 

 

前へ          メニューへ          次へ

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)