簡體   English   中英

如何在電暈SDK中引用/指定屏幕上生成的對象的所有索引?

[英]In corona sdk how can I reference / specify all indexes of a spawned object on the screen?

嗨,我一直想知道這已經有一段時間了,這引起了很多問題,使我一次又一次不知道如何參考/指定屏幕上生成的敵人的所有索引。

假設角色死亡時,我希望屏幕上的所有敵人在屏幕逐漸消失時遠離死者。 簡單地叫“ enemy1”只能使一個(我認為是最后一個生成的)按照所告訴的那樣進行。

這是我的敵人生成腳本:

local spawnTable2 = {}

local function spawnEnemy()
enemy1 = display.newSprite( group, sheetE, sequenceData2 )
enemy1.x=math.random(100,1300)
enemy1.y=math.random(360,760)
enemy1.gravityScale = 0
enemy1:play()
enemy1.type="coin"
enemy1.objTable = spawnTable2
enemy1.index = #enemy1.objTable + 1
enemy1.myName = "enemy" .. enemy1.index
physics.addBody( enemy1, "kinematic",{ density = 0, friction = 0, bounce = 1 })
enemy1.isFixedRotation = true
enemy1.type = "enemy1"
enemy1.timer = nil
enemy1.enterFrame = moveEnemy
Runtime:addEventListener("enterFrame",enemy1)
enemy1.objTable[enemy1.index] = enemy1
hudGroup:toFront()

return enemy1
end

要引用所有對象,您將需要做兩件事。

  1. 櫃台

首先做一個櫃台:

counter = 0

每次調用該功能時,都有一個計數器:

counter = counter + 1

對於表,您將執行以下操作:

spawnTable2[counter].x=math.random(100,1300)

然后,當您要刪除對象時,只需執行以下操作:

display.remove(spawnTable2[counter])

請記住,您操作該對象的所有操作都必須在該函數內。 祝你好運,希望這能幫到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM