【发布时间】:2016-08-20 07:45:21
【问题描述】:
我有一张满是敌人的桌子,我只是想让他们通过 gameLoop 在屏幕上移动,但由于某种原因似乎没有任何效果。它可能是一个简单的修复,但我试图修复它,但无处可去。有谁知道怎么回事?
游戏循环函数
local i
for i = 1, #enemies do--.numChildren,1, -1 do
local blocks = enemies[i]
if blocks ~= nil and blocks.x ~= nil then
enemyRate = 2.0 + (0.1 * wave)
transition.to( blocks, { time=1500, x=300} )
end
end
生成函数
function spawnEnemy()
local spawnData = { -- Easily store spawns in a table to make it easier to add new enemies later
{name = "Blue", seq = "blueRect", frame = 3, imgSheet = imageSheetRectangle, seqData = sequenceDataRectangle},
{name = "Red", seq = "blueCross", frame = 1, imgSheet = imageSheetCross, seqData = sequenceDataCross},
{name = "Green", seq = "blueCirc", frame = 2, imgSheet = imageSheetCircle, seqData = sequenceDataCircle}
}
local xPos = display.contentWidth - 150
local r = math.random(1, #spawnData)
local sd = spawnData[r] -- get the spawn data for this enemy
local s = display.newSprite(sd.imgSheet, sd.seqData)
s.name = sd.name
physics.addBody(s, { isSensor = true })
s:setSequence(sd.seq)
s:setFrame(sd.frame)
s.y = display.contentHeight - 400
s.x = xPos
enemies[#enemies+1] = s
enemyGroup:insert(s)
【问题讨论】:
-
这看起来会将它们移动到
300的静态x位置。那是你想要的吗?运行时是否发生任何事情? -
我没有看到这里的任何代码有问题。你能链接更多的代码吗?
-
嘿伙计们,什么都没有发生,这很奇怪。 @EtanReisner:是的,它们可以是静态值,因为它们在离开屏幕时会被破坏。
-
@BrettComardelle:这是移动对象代码的主要部分。如果有帮助,我可以告诉你我是如何产生它们的。我会更新帖子
-
enemyRate应该做什么?并且您的屏幕在x方向上是否小于300单位?因为,除非我误解了transition.to函数,否则它不会每次都将它们 移动300单元发送到x单元位置300每次(这意味着它们看起来根本不会移动)。