Corona sdk'applyForce'(零值)

时间:2013-05-12 21:24:40

标签: lua

我目前正在创建一个类似于黑莓直升机游戏的游戏,其目标是避免地雷并生存直到计时器计数到0,此时游戏进入下一个它将变得更加困难的程度。要做到这一点,你必须触摸屏幕以使宇宙飞船飞得更高(通过applyForce)或让它降低(通过重力水平),因为船是动态物体。这个代码如下。

local function flightUp(self,event)
    print("Just before apply force")
    self:applyForce(0,-0.2,self.x,self.y)
    print(applyForce)
    audio.play(jetSound)
end

function touchS(event)
    if event.phase == "began" then
        ship.enterFrame = flightUp
        Runtime:addEventListener("enterFrame", ship)
    end

    if event.phase == "ended" then
        Runtime:removeEventListener("enterFrame", ship)
    end
end
然后,我通过复制级别1的代码并将一些值更改为新的lua文件来创建级别2。当使用几乎相似的代码时,我得到错误“尝试调用方法'applyForce'(一个零值)”使我的太空飞船在屏幕上但无法飞行或通过重力下降。 除了这个错误之外,level2 lua在调用“touchS1”之前没有错误。

local function flightUp1(self,event)
    print("This is the flight up1")
    self:applyForce(0,-0.2,self.x,self.y)
end

function touchS1(event)
    if event.phase == "began" then
        ship.enterFrame = flightUp1
        Runtime:addEventListener("enterFrame", ship)
    end

    if event.phase == "ended" then
        Runtime:removeEventListener("enterFrame", ship)
    end

end

有人帮助我

0 个答案:

没有答案