在Corona物理学中,不适用于一组物体

时间:2015-12-02 19:27:55

标签: lua corona

我有一个游戏,其上有数字的鸡蛋掉落,底部有一个数字篮子。鸡蛋和数字在一组中,并作为物理身体添加。篮子和数字相同。当只有鸡蛋被添加为物理身体而不是egggroup时,那么物理工作。以下是我的代码

local physics =require("physics")
physics.start()
physics.setGravity(0,9.8)

local egg=display.newImage("egg.jpg")
egg.numberValue=myRandomNumber

 local eggText = display.newText({x = egg.x, y = egg.y, text = tostring(egg.numberValue), fontSize = 30, font = native.systemFontBold }) 

local eggGroup = display.newGroup() 
eggGroup :insert(egg) 
eggGroup :insert(eggText)

physics.addBody(eggGroup , {bounce=0.2})  --if I change to add only egg, then the physics work

-- add basketgroup
local basket=display.newImage("basket.png")
basket.numberValue=math.random(10,20) 
local basketText = display.newText({x = basket.x, y = basket.y, text = tostring(basket.numberValue), fontSize = 30, font = native.systemFontBold })    

local basketGroup = display.newGroup() 
basketGroup :insert(basket) 
basketGroup :insert(basketText)

physics.addBody(basket ,"static")

如果在physics.addBody(eggGroup,{bounce = 0.2})中我改为只添加蛋,那么物理工作。请告诉我如何解决这个问题!!!

1 个答案:

答案 0 :(得分:0)

有几种方法可以修复它,但最好/最简单的方法是:

仅在鸡蛋中加入psyhics。

更改:

 for(var i=0; i<array.length; i++){
     if(input_txt.innerHTML.toUpperCase === array[i].name.toUpperCase ){
        box1.innerHTML += array[i].name + "<br>"
     }
  }

to(所以当多个对象存在时,更容易检索对egg上文本的引用)

local eggText = display.newText({x = egg.x, y = egg.y, text = tostring(egg.numberValue), fontSize = 30, font = native.systemFontBold }) 

然后添加这样的东西。

egg.eggText = display.newText({x = egg.x, y = egg.y, text = tostring(egg.numberValue), fontSize = 30, font = native.systemFontBold })

这将添加另一个功能,使文本跟随你的蛋。