When I spawn a new block, the image doesn’t appear, but through debugging I can see that It has the correct x and y coordinates. What is happening??
I am trying to make a stacking game for some summer fun. I am very new to Corona SDK and am been working on this for several hours.
–testtt
local physics = require “physics”
physics.start()
physics.setGravity( 0, 0 )
local mydata = require( “mydata” )
local storyboard = require (“storyboard”)
local scene = storyboard.newScene()
local block = require (“block”)
counter =18
mydata.score = 0
gameStarted = false
direction = 5
scale = 0
function scene:createScene(event)
local screenGroup = self.view
local background = display.newImage(“bg.png”)
screenGroup:insert(background)
bg = display.newImageRect(‘bg.png’,900,1425)
bg.anchorX = 0
bg.anchorY = 1
bg.x = 0
bg.y = display.contentHeight
bg.speed = 4
screenGroup:insert(bg)
blocks = display.newImage(“block16.png”, 320, 40)
blocks.anchorX = 0
blocks.x = 390
blocks.y = 1183
objectb = blocks
objectb.size = 320
screenGroup:insert(blocks)
block16 = display.newImage(“block16.png”, 320, 40)
block16.anchorX = 0
block16.x = 0
block16.y = blocks.y - 40
block16.speed = 4
object = block16
object.size = 320
screenGroup:insert(block16)
end
function moveBlock(object)
print(object.x)
print(“size”, object.size)
object.x = object.x + direction
if object.x > 900 then
direction = direction * -1
end
if object.x < 0 then
direction = direction * -1
end
–if object.x < 160 then
end
move = function() return moveBlock(object) end
function SpawnBlock()
local tempBlock = block.new(object.size - difference, objectb)
objectb = object
objectb.y = object.y
objectb.size = object.size - difference
object = tempBlock
object.size = tempBlock.getSize()
object.y = tempBlock.getY()
–print(tempBlock)
print(tempBlock.size)
print(“objbsize”,objectb.size)
print(object.size)
movtimer = timer.performWithDelay( 1,move, 0 )
end
function getDiff()
if (object.x < objectb.x) then
difference = objectb.x - object.x
newsize = object.size - difference
object.xScale = newsize / objectb.size
object.x = object.x + difference
SpawnBlock()
end
end
function stopBlock(event)
if(event.phase == “began”) then
timer.cancel(movtimer)
getDiff()
end
end
local function checkMemory()
collectgarbage( “collect” )
local memUsage_str = string.format( “MEMORY = %.3f KB”, collectgarbage( “count” ) )
print( memUsage_str, "TEXTURE = "…(system.getInfo(“textureMemoryUsed”) / (1024 * 1024) ) )
end
function scene:enterScene(event)
Runtime:addEventListener( “touch”, stopBlock )
storyboard.removeScene(“start”)
movtimer = timer.performWithDelay( 1,move, 0 )
–
memTimer = timer.performWithDelay( 1000, checkMemory, 0 )
end
function scene:exitScene(event)
end
function scene:destroyScene(checkMemory)
end
scene:addEventListener(“createScene”, scene)
scene:addEventListener(“enterScene”, scene)
scene:addEventListener(“exitScene”, scene)
scene:addEventListener(“destroyScene”, scene)
return scene
BLOCK.LUA
–
– block.lua
–
– Example “block” class for Corona SDK tutorial.
–
local block = {}
–local block_mt = { __index = block } – metatable
– PRIVATE FUNCTIONS
– PUBLIC FUNCTIONS
function block.new( size , objectb) – constructor
local blockGroup = display.newGroup()
local block = display.newImage(“block16.png”, size, 40)
block.anchorX = 0
block.x = 0
block.y = object.y - 40
print(“block.y”,block.y)
block.size = size
block.xScale = size / objectb.size
print(block.size)
blockGroup:insert(block)
function blockGroup:getSize(size)
return block.size
end
function blockGroup:getY()
return block.y
end
block.blockGroup = blockGroup
return blockGroup
end
return block