我有一个创建了两个对象的场景,我想将对象的值存储在变量中,以比较两个对象是相同还是不同。我能怎么做?请帮助我。
local function click( event )
print( "Tap event on: " .. event.target.id )
if (click1 == click2) then
print("is true")
else
print("is false")
end
return true
end
object1 = display.newImage("img/card1.png)
object1.x = 30
object1.y = 30
object1.name = "obj1"
object1.id = "obj1"
object1:addEventListener("tap",click)
group:insert(object1)
object2 = display.newImage("img/card2.png)
object2.x = 30
object2.y = 30
object2.name = "obj2"
object2.id = "obj2"
object2:addEventListener("tap",click)
group:insert(object2)
在您的标题中,您说您想比较“点击”,所以我假设您要比较每次点击的x和y坐标。但是在您的实际描述中,听起来您想将这两个lua表object1
和object2
相互比较。
您不能在此处使用==
,因为它不比较每个表的内容,但是它们是否指向相同的存储位置。
要比较它们,您必须编写自己的代码,该代码执行“深度”比较并检查两个表中的必要值是否相等。
例如,这将检查两个对象是否在同一位置:
object1 = {}
object1.x = 30
object1.y = 30
object2 = {}
object2.x = 30
object2.y = 30
if object1.x == object2.x and object1.y == object2.y then
print("foo")
end