Phaser 3蛇游戏蛇身跟随蛇头的逻辑实现求助
Phaser 3蛇游戏蛇身跟随蛇头的逻辑实现求助
这其实更偏向逻辑问题而非Phaser 3本身的问题。我正在做《贪吃蛇》游戏,单个蛇身的上下左右移动很容易实现,但当蛇身超过一段时就遇到了麻烦。在贪吃蛇里,蛇头改变方向后,后面的身体得依次跟进,始终保持在蛇头的后方。我一直搞不懂该怎么实现——让蛇头后面的所有身体都相应地调整方向。简单来说,这就是一个精灵跟随另一个精灵的问题,希望能得到一些帮助。
这是我创建蛇以及蛇头的代码:
create() { this.snake = this.physics.add.group() this.front = this.snake.create(25,25,"tile").setScale(0.12) }
这是我的蛇移动逻辑,目前只移动蛇头,因为我想让其他蛇身都跟着蛇头走:
update() { this.cursors = this.input.keyboard.createCursorKeys() if (this.cursors.right.isDown) { this.x_vel = this.vel this.y_vel = 0 this.DIRECTION = "right" } if (this.cursors.left.isDown) { this.x_vel = -this.vel this.y_vel = 0 this.DIRECTION = "left" } if (this.cursors.up.isDown) { this.x_vel = 0 this.y_vel = -this.vel this.DIRECTION = "up" } if (this.cursors.down.isDown) { this.x_vel = 0 this.y_vel = this.vel this.DIRECTION = "down" } this.front.x += this.x_vel this.front.y += this.y_vel }
我也看过其他贪吃蛇项目,尤其是Phaser论坛和Medium上的,但它们都没太讲细节,我很难看懂他们的代码。
备注:内容来源于stack exchange,提问作者Sereen Taleb
相关产品推荐
相关产品推荐

