2016-04-10 11 views
1

私はちょうど作曲家に紹介されたので、私はまだそれがどのように正確に動作するのか理解していません。私は既に作っているゲームを作曲家に移そうとしていますが、このコードを5時間使いこなしても、正しく動作させることはできません。物理が正しく動作していないし、イベントリスナーもありません。誰かが私に手を貸してくれるなら、私はそれを高く評価します。 コードはhttps://github.com/DFrogBinder/Coursera-cource/blob/gh-pages/Game/Play.luaCronoa Composer

答えて

0

いくつかの物理的な問題を引き起こしている可能性がありますが、いくつかの誤植がありますが、私は正確にあなたが持っている問題は確信しています。ここで

--> Walls and Ceiling 
    local left_Wall = display.newRect(0, 500 , 1, display.contentHeight) 
    local Right_Wall = display.newRect(display.contentWidth, 500, 1, display.contentHeight) 
    local Celling = display.newRect(300, 0, display.contentWidth, 1) 

    physics.addBody(left_Wall, "static", {bounce = 0.3}) 
    physics.addBody(Right_Wall, "static", {bounce = 0.3}) 
    -- Here, you have "Ceiling" rather than "Celling" that you defined above 
    physics.addBody(Ceiling, "static", {bounce = 0.8}) 
    sceneGroup:insert(left_Wall) 
    sceneGroup:insert(Right_Wall) 
    sceneGroup:insert(Celling) 

は、あなたが私はあなたがevent.target.x置くことを意味していると確信していますevent.xとevent.yを、使用しているように見えるとevent.target.y

local function moveCrate (event) 
    local Crate = event.target 
    Crate:applyLinearImpulse(0, -20, event.x, event.y) 
end 

の場合「ゲームオーバー」シーンに切り替えるときにコンポーザーに問題がある場合は、このシーンの最後に表示オブジェクトを削除していない可能性があります。

+0

元の(動作中の)コードのmoveCrate関数の型を訂正しましたが、event.yですが、event.target.xとevent.target.yに変更しましたが、結果はありません。私はまだ、 "applyLinearImpulse(ゼロ値)メソッドを呼び出そうとしています"というエラーを受けています。物理エンジンはクレートとして機能していないようですが、空気中のスポーンポイントに静止しています。 – DFrogBinder

+0

物理学の開始前に重力を設定しています。作成する前にphysics.start()を呼び出してみるか、物理学の開始後に重力などを設定してください。さらに、私はあなたが衝突中にcomposer.gotoScene()を呼び出すことができるとは思わない。 –

+0

はい、それは文字通り2分前に気づいた、すべてが今、大丈夫です、ありがとう – DFrogBinder

関連する問題