Hi, I have three objects than collide between them.
I want to touch one of them and see all object that collide with select object.
Any sample?How can i do it? 
Hi, I have three objects than collide between them.
I want to touch one of them and see all object that collide with select object.
Any sample?How can i do it? 
Not sure but can be optimize this code? Iām newie in lua & SDK. Thanks !!
local inCollide = {} -- Stack tracking all collision function onGlobalCollision( event ) -- not sure, but if obj is off screen then return nil if not event.object1.name or not event.object2.name then return true end --avoiding to get collision with certain objs if event.object1.name == "ll" then return true end -- create a obj reference (this must to be an id to optimize) local obj = event.object1.name .. "/" .. event.object2.name if ( event.phase == "began" ) then local lenght = #inCollide -- take stack lenght local add= true --true=add obj. false=do nothing -- Check if exist then replace or add element to stack for i=1, lenght do if inCollide [#inCollide] == nil then -- replace inCollide [#inCollide] = obj add=false --set bit state. break --end elseif inCollide [#inCollide] == obj then -- do nothing add=false -- set bit state. break --end end end if add then -- add inCollide [#inCollide+1]= obj doit= false -- clear bit state end elseif ( event.phase == "ended" ) then local lenght = #inCollide -- Searching element to delete from stack for i=1, lenght do if inCollide[i] == obj then inCollide[i] = nil break --end end end end end local selected -- track selected obj reference local function touch( event ) if event.phase == "began" then -- Just show selected obj selected = event.target selected:setFillColor(255,0,0) selected.alpha = 0.7 -- debug to screen print ( "\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*" ) for i=1, #inCollide do if inCollide[i] ~= nil then print ( inCollide[i] ) end end end return true end
Not sure but can be optimize this code? Iām newie in lua & SDK. Thanks !!
local inCollide = {} -- Stack tracking all collision function onGlobalCollision( event ) -- not sure, but if obj is off screen then return nil if not event.object1.name or not event.object2.name then return true end --avoiding to get collision with certain objs if event.object1.name == "ll" then return true end -- create a obj reference (this must to be an id to optimize) local obj = event.object1.name .. "/" .. event.object2.name if ( event.phase == "began" ) then local lenght = #inCollide -- take stack lenght local add= true --true=add obj. false=do nothing -- Check if exist then replace or add element to stack for i=1, lenght do if inCollide [#inCollide] == nil then -- replace inCollide [#inCollide] = obj add=false --set bit state. break --end elseif inCollide [#inCollide] == obj then -- do nothing add=false -- set bit state. break --end end end if add then -- add inCollide [#inCollide+1]= obj doit= false -- clear bit state end elseif ( event.phase == "ended" ) then local lenght = #inCollide -- Searching element to delete from stack for i=1, lenght do if inCollide[i] == obj then inCollide[i] = nil break --end end end end end local selected -- track selected obj reference local function touch( event ) if event.phase == "began" then -- Just show selected obj selected = event.target selected:setFillColor(255,0,0) selected.alpha = 0.7 -- debug to screen print ( "\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*" ) for i=1, #inCollide do if inCollide[i] ~= nil then print ( inCollide[i] ) end end end return true end