2016-03-22 8 views

Antwort

0

Ja, Sie können eine Global Collision Handling Damit Sie wissen kollidierte, welches der Objekte Durch das Erstellen Sie eine Tag auf diesem Objekt Beispiel hinzufügen, können Sie drei Objekte haben:

local myObject = {} 
--ASSUMING YOU HAVE INITIALIZE THE OBJECTS ALREADY 
--SET THE TAG 
myObject[0].myName = "object0"  
--DO THE SAME WITH THE OTHER OBJECTS 
myObject[1].myName = "object1" 
myObject[2].myName = "object2" 

--Create your collision function 
local function onCollided(event) 
    if(event.phase == "began") then 
     --BEGAN COLLISION 
     --THE BELOW PRINT STATEMENT WILL PRINT WHICH OF THE THREE OBJECTS COLLIDED WITH 
     print("Collision Between ".. event.object1.myName .. " and " .. event.object2.myName) 
    elseif(event.phase == "ended") then 
     --END COLLISION 
    end 
end  

--AND OFCOURSE ADD THE LISTENER 
Runtime:addEventListener("collision", onCollided) 

wie die Docs besagt, dass: Global Collision Handling am besten in einem Viele-zu-viele-Kollisionsszenario verwendet wird