比较LUA(Corona SDK)中的第一次点击值和第二次点击值

问题描述 投票:0回答:1

我有一个创建了两个对象的场景,我想将对象的值存储在变量中,以比较两个对象是相同还是不同。我能怎么做?请帮助我。

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)
lua corona
1个回答
0
投票

在您的标题中,您说您想比较“点击”,所以我假设您要比较每次点击的x和y坐标。但是在您的实际描述中,听起来您想将这两个lua表object1object2相互比较。

您不能在此处使用==,因为它不比较每个表的内容,但是它们是否指向相同的存储位置。

要比较它们,您必须编写自己的代码,该代码执行“深度”比较并检查两个表中的必要值是否相等。

例如,这将检查两个对象是否在同一位置:

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
© www.soinside.com 2019 - 2024. All rights reserved.