1

私は現在、地雷を避けてタイマーが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'(nil 値) を呼び出そうとしています」というエラーが表示され、宇宙船が画面上に表示されますが、重力によって飛行または落下することはできません。このエラーとは別に、"touchS1" が呼び出されるまで、レベル 2 の lua にはエラーはありません。

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

誰か助けてください

4

0 に答える 0