ऐसा लगता है कि कोड में कुछ गड़बड़ है, एक बटन को धीमा करना पड़ता है और एक बटन को गति देने के लिए जब मैं यह कोड जोड़ता हूं,

    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() {

    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());


}

मैंने फेजर 3 उदाहरण से कोड लिया took यह है https://phaser.io/examples/v3/view/ ट्वीन्स/ट्वीन-टाइम-स्केल

0
Arif fadhillah 6 जिंदा 2020, 10:54

1 उत्तर

सबसे बढ़िया उत्तर

अब दोनों बटन ठीक से काम करते हैं

 generateDance() {

    this.downButton = this.add.image(230, 530, 'up-bubble').setInteractive();
    this.upButton = this.add.image( 80, 530, 'down-bubble').setInteractive();

    this.spinSpeed = 0.003;

    this.downButton.on ('pointerdown', (event) => {

        if (this.spinSpeed < 1) { this.spinSpeed += 0.002; }
    });

    this.upButton.on('pointerdown', (event) => {

        if (this.spinSpeed > 0 ) { this.spinSpeed -= 0.001; }
    }); 

    return this.tweens.addCounter({
        from: 220,
        to: 160,
        duration: 9000,
        delay: 2000,
        ease: 'Sine.easeInOut',
        repeat: -1,
        yoyo: true
    });
}
0
Arif Fadhillah 8 जिंदा 2020, 12:25