簡體   English   中英

移相器js中的game.physics.arcade.collide()

[英]game.physics.arcade.collide() in phaser js

我使用框架移相器js。 我使用graphics創建兩個圓圈

var graphics;
var ball;

var graphics1;
var ballHome;

function create(){
  game.physics.startSystem(Phaser.Physics.ARCADE);  

    graphics=game.add.graphics(500,500);    //first circle
    game.physics.arcade.enable(graphics);
    graphics.enableBody=true;
    graphics.beginFill(0xFFFFFF,1);
    ball=graphics.drawCircle(10,10,15);
    graphics.endFill();


    graphics1=game.add.graphics(500,500);   //second circle
    game.physics.arcade.enable(graphics1);
    graphics1.enableBody = true;
    graphics1.beginFill(0xFFF55F,1);
    ballHome=graphics1.drawCircle(300,300,500);
    graphics1.endFill();

}

function update() {
     game.physics.arcade.collide(ball,ballHome); 
}

我要他們碰撞

為什么game.physics.arcade.collide(ball,ballHome)不起作用?

謝謝您的幫助

問題是collide()函數將Phaser.Sprite s作為其輸入,但是ballballHome不是sprites。 它們是PIXI.Graphics對象。 您需要從Graphics對象創建精靈,然后將這些精靈傳遞到collide()

要從graphics對象制作精靈,請首先調用Graphics.generateTexture()doc )創建紋理,然后使用剛創建的紋理調用game.add.sprite()doc )。

有關Phaser的更多信息,以及大量有用的教程,請訪問Phaser網站

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM