【发布时间】:2019-03-31 21:43:06
【问题描述】:
我需要一个学校项目的帮助,并且想用 P2 Physics 编写像 Phaser 中的 Headsoccer 这样的游戏,我已经有两名球员、两个进球和一个可以相互碰撞的球。现在我想为踢球添加一个踢球动画和一个碰撞箱,当踢球时,它会施加一个冲力或来自踢球的某种力量。我怎么能这样做?
谢谢。
这是一些代码 如果你能给我一些关于如何更好地构建我的代码或者我可以改变一些东西的建议会很好
function create() {
game.world.setBounds(0, 0, 800, 500);
game.physics.startSystem(Phaser.Physics.P2JS);
//game.physics.p2.enable([ player, player2, fussball, goal, latte ], true);
//game.physics.arcade.gravity.y = 200;
game.add.tileSprite(0, 0, 800, 600, 'Spielfeld');
game.physics.p2.gravity.y = 600;
goal = game.add.sprite(35, 428, 'goal');
game.physics.p2.enable(goal,true);
goal.body.static = true;
goal.physicsBodyType = Phaser.Physics.P2JS;
goal.body.data.shapes[0].sensor = true;
player = game.add.sprite(100, 500, 'player');
game.physics.p2.enable(player,true);
player.anchor.setTo(0.5, 0.5);
player.body.collideWorldBounds = true;
player.body.fixedRotation = true;
player.body.clearShapes();
player.body.loadPolygon('playerPhysics','player');
player2 = game.add.sprite(500, 500, 'player');
game.physics.p2.enable(player2);
player2.anchor.setTo(0.5, 0.5);
player2.body.collideWorldBounds = true;
player2.body.fixedRotation = true;
var shape = new p2.Circle();
ball = game.add.sprite( game.world.centerX, game.world.centerY, 'ball');
game.physics.p2.enable(ball);
ball.anchor.setTo(0.5, 0.5);
ball.body.collideWorldBounds = true;
ball.body.data.gravityScale = 1;
ball.body.clearShapes();
ball.body.addCircle(shape);
我的游戏是这样的,我展示了 Player 1 和 Goal 的 hitbox。
【问题讨论】:
标签: javascript phaser-framework