私は現在、地雷を避けてタイマーが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
誰か助けてください