【发布时间】:2020-01-08 20:25:05
【问题描述】:
代码好像有问题,添加这段代码的时候一键减速一键加速,
this.downButton = this.add.image(80, 530, 'up-bubble').setInteractive();
this.upButton = this.add.image(230, 530, 'down-bubble').setInteractive();
this.input.on('gameobjectup', function (pointer, gameobject) {
if (gameobject === this.downButton && this.spinSpeed > 0)
{
this.spinSpeed -= 0.1;
}
else if (gameobject === this.upButton && this.spinSpeed < 9.9)
{
this.spinSpeed += 0.1;
}
});
但是,当我在 generateBalls() 之间添加这段代码时,它根本不起作用,它不起作用,
generateBalls() {
const hitArea = new Phaser.Geom.Rectangle(0, 0, 32, 32);
const hitAreaCallback = Phaser.Geom.Rectangle.Contains;
const circle = new Phaser.Geom.Circle(400, 300, 220);
const balls = this.add.group(null, {
key: 'balls',
frame: [0, 1, 5],
repeat: 5,
setScale: { x: 3, y: 3 },
hitArea: hitArea,
hitAreaCallback: hitAreaCallback,
});
this.downButton = this.add.image(80, 530, 'up-bubble').setInteractive();
this.upButton = this.add.image(230, 530, 'down-bubble').setInteractive();
this.input.on('gameobjectup', function (pointer, gameobject) {
if (gameobject === this.downButton && this.spinSpeed > 0)
{
this.spinSpeed -= 0.1;
}
else if (gameobject === this.upButton && this.spinSpeed < 9.9)
{
this.spinSpeed += 0.1;
}
});
Phaser.Actions.PlaceOnCircle( balls.getChildren(), circle);
return balls;
}
generateDance() {
this.spinSpeed = 0.003;
return this.tweens.addCounter({
from: 220,
to: 160,
duration: 9000,
delay: 2000,
ease: 'Sine.easeInOut',
repeat: -1,
yoyo: true
});
}
update() {
this.playerEyes.update();
Phaser.Actions.RotateAroundDistance( this.balls.getChildren(), { x: 400, y: 300 }, this.spinSpeed, this.dance.getValue());
}
我从 Phaser 3 示例中获取了代码 这是https://phaser.io/examples/v3/view/tweens/tween-time-scale
【问题讨论】:
-
您好,问题的开头仍然是印度尼西亚语(?),请将其编辑为英语。
标签: javascript phaser-framework