Hi,
I’m still a bit new to Corona and wondering if anyone can help me with sprite collisions. It wasn’t even registering collisions, so I added a rectangle surrounding the sprites to see if they would collide, with no luck. Can anybody help?
Function:
[blockcode]
----collision function------
function onCollision(event)
if (event.phase == “ended”) then
print(“collision”) --not even registering collision
-------------sprite1 and sprite2 collide-------------
if (event.object1.name == “sprite1Rect”) then
if (event.object2.name == “sprite2Rect”) then
—gameover
print(“gameover”)
end
elseif (event.object1.name == “sprite2Rect”) then
if (event.object2.name == “sprite1Rect”) then
–gameover
print(“gameover”)
end
end
end
[/blockcode]
Sprite creation:
[blockcode]
-----------sprite 1------------------
sprite1Sheet = sprite.newSpriteSheet(“sprite1.jpeg”, 125, 125)
sprite1SpriteSet = sprite.newSpriteSet(sprite1Sheet, 1, 12)
sprite.add(sprite1SpriteSet, “sprite1”, 7, 3, 500, 0)
mysprite1 = sprite.newSprite(sprite1SpriteSet)
mysprite1.x = 100
mysprite1.y = h/2
mysprite1:setFillColor(0, 128, 210)
mysprite1.name = “sprite1”
group:insert(mysprite1)
mysprite1:prepare(“sprite1”)
mysprite1:play()
sprite1Rect = display.newRect(0, 0, mysprite1.width, mysprite1.height)
sprite1Rect.x = mysprite1.x
sprite1Rect.y = mysprite1.y
sprite1Rect.name = “sprite1Rect”
sprite1Rect.strokeWidth = 5
sprite1Rect:setStrokeColor(255, 0, 0)
sprite1Rect.alpha = 0
group:insert(sprite1Rect)
---------------------sprite2--------------------------------
sprite2Sheet = sprite.newSpriteSheet(“sprite2.jpg”, 36.33, 57)
sprite2SpriteSet = sprite.newSpriteSet(sprite2Sheet, 1, 6)
sprite.add(sprite2SpriteSet, “sprite2”, 1, 6, 500, 0)
mysprite2 = sprite.newSprite(sprite2SpriteSet)
mysprite2.x = w - 40
mysprite2.y = h/2 + 10
mysprite2:setFillColor(0, 128, 210)
mysprite2.name = “sprite2”
group:insert(mysprite2)
mysprite2:prepare(“sprite2”)
mysprite2:play()
sprite2Rect = display.newRect(0, 0, mysprite2.width, mysprite2.height)
sprite2Rect.x = mysprite2.x
sprite2Rect.y = mysprite2.y
sprite2Rect.name = “sprite2Rect”
sprite2Rect.strokeWidth = 5
sprite2Rect:setStrokeColor(255, 0, 0)
sprite2Rect.alpha = 0
group:insert(sprite2Rect)
[/blockcode]
Calling listeners:
[blockcode]
Runtime:addEventListener(“collision”, onCollision)
[/blockcode] [import]uid: 163581 topic_id: 31553 reply_id: 331553[/import]