2017-02-24 51 views
0

預警:半新手移相器:按下鍵+碰撞殺傷

基本上,如果用戶有左光標向下「令牌」與lftRect碰撞,我要殺死令牌。出於某種原因,我對碰撞殺回調函數不工作(下面是相關的代碼):

gumballGoGo.Preloader = function(game){ 
    this.player = null; 
    this.ground = null; 
    //this.tokens = null; 
    this.ready = false; 
}; 

var cursors, lftInit, rghtInit, ground, testDrp, sprite, tokens, rect, lftRect, ctrRect, rghtRect, lftToken; 
var total = 0; 

function lftHit(lftRect, lftToken) { 
    if (lftInit == true){ 
     lftToken.kill() 
    } 
}; 

gumballGoGo.Preloader.prototype = { 
    preload: function(){ 
    }, 

    create: function() { 

     // LFT BOX 
     lftRect = this.add.sprite(0, this.world.height - 150, null); 
     this.physics.enable(lftRect, Phaser.Physics.ARCADE); 
     lftRect.body.setSize(100, 100, 0, 0); 


     // CNTR BOX 
     ctrRect = this.add.sprite(100, this.world.height - 150, null); 
     this.physics.enable(ctrRect, Phaser.Physics.ARCADE); 
     ctrRect.body.setSize(100, 100, 0, 0); 


     // RGHT BOX 
     rghtRect = this.add.sprite(200, this.world.height - 150, null); 
     this.physics.enable(rghtRect, Phaser.Physics.ARCADE); 
     rghtRect.body.setSize(100, 100, 0, 0); 


     // INIT TOKEN GROUP 
     tokens = this.add.group(); 
     tokens.enableBody = true; 
     this.physics.arcade.enable(tokens); 

     testDrp = tokens.create(125, -50, 'token'); 
     testDrp.body.gravity.y = 300; 



     // CONTROLS 
     this.cursors = this.input.keyboard.createCursorKeys(); 

    }, 

    update: function() { 
     this.ready = true; 

     if (this.cursors.left.isDown) 
      { 
       lftInit = true; 
      } 
     else if (this.cursors.right.isDown) 
      { 
       rghtInit = true; 
      } 
     else 
      { 
       lftInit, rghtInit = false; 

      } 

     if (total < 20) 
      { 
       tokenSpawn(); 
      } 

     this.physics.arcade.collide(lftRect, lftToken, lftHit, null, this);  

    } 
}; 


function tokenSpawn() { 

    lftToken = tokens.create(25, -(Math.random() * 800), 'token'); 

    lftToken.body.gravity.y = 300; 

    total++; 

} 

的最終目標是recreate this type of gameplay

還有一點需要注意的是:截至目前,我正在使用一個隨機產卵循環來丟棄「令牌」。我寧願使用定時模式來進行令牌丟棄。如果您有任何建議,請分享。感謝:]

回答

0

不確定,所以這是一個猜測,但是您將'this'的最後一個參數應用到gumballGoGo.Preloader.prototype對象之外的函數'lfthit'。你在控制檯中遇到什麼錯誤?