lua - Collision not working on the ceiling -


all collisions working except "ceiling" missing here?

local screengroup = self.view  jetspritesheet = sprite.newspritesheet("helicopters.png", 97, 55)  jetsprites = sprite.newspriteset(jetspritesheet, 1, 4) sprite.add(jetsprites, "jets", 1, 8, 600, 0) jet = sprite.newsprite(jetsprites) jet.x = -80 jet.y = 350 jet:prepare("jets") jet:play() jet.collided = false jet.name = "jetplayer"  physics.addbody(jet, "dynamic", {density=.1, bounce=0.1, friction=.2, radius=10, filter=playercollisionfilter } )    jet.gravityscale = 0  jetintro = transition.to(jet,{time=2000, x=150, oncomplete=jetready}) screengroup:insert(jet)  ceiling = display.newimage("invisibletile.png") ceiling.name = "ceiling" ceiling:setreferencepoint(display.bottomleftreferencepoint) ceiling.x = 0 ceiling.y = 0  physics.addbody(ceiling, "static", {density=.1, bounce=0.1, friction=.2,} )   screengroup:insert(ceiling)  local function oncollision(event)     if event.phase == "began" , gameisactive == true     local obj1 = event.object1;      local obj2 = event.object2;          if obj1.name == "jetplayer"             if     obj2.name == "bcloud1" minlife()             elseif obj2.name == "bcloud2" pontsmin10()             elseif obj2.name == "bcloud3" pontsmin20()             elseif obj2.name == "gcloud1" pontsplus50()             elseif obj2.name == "ceiling" explode()             elseif obj2.name == "thefloor" explode()             end         end     end end runtime:addeventlistener( "collision", oncollision ) 

just replace following line:

physics.addbody(app, "dynamic", {density=.1, bounce=0.1, friction=.2, radius=10, filter=playercollisionfilter } ) 

as below, , check again:

physics.addbody(app, "dynamic", {density=.1, bounce=0.1, friction=.2,filter=playercollisionfilter } ) 

i not aware of behavior of corona. here object radius (jetplayer) choosen obj2. so, either may remove radius, if not needed, or change function as:

if(obj1.name == "jetplayer" or obj2.name == "jetplayer")then     if(obj1.name == "ceiling" or obj2.name == "ceiling")then         explode()     end end 

keep coding..........:)


Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -