Dips
Dips

Reputation: 145

Transition.to not moving object properly - Corona SDK

I have a table full of enemies and simple want them to move across the screen via gameLoop, however for some reason nothing seems to work. Its probably an easy fix but I have tried to fix it but am getting nowhere. Anyone know whats up?

gameLoop Function

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

The Spawn Function

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)

Upvotes: 1

Views: 278

Answers (1)

Brett Comardelle
Brett Comardelle

Reputation: 322

In this related answer: transition.to( ) doesn't work within a function and with a Runtime:addEventListener( "enterFrame", method) listener in Corona / Lua you can see a similar issue as I stated above. You are creating an animation right as one is starting - making it seem as though it is not moving. As I suggested above, if it suits your game, begin the transition when you spawn the object; not every gameloop.

Upvotes: 1

Related Questions