首页 > 解决方案 > Phaser 加载图像不会在点击事件上设置为 alpha

问题描述

嗨,我正在 Phaser 中制作加载屏幕,我希望加载 img 的 alpha 在其创建时设置为 0。When a level is selected the loading img alpha will be set to 1.

import Phaser from '../lib/phaser.js'

export default class level_select extends Phaser.Scene {
    constructor(){
        super('level_select')
    }

    create() {
        this.add.image(0,0,'title_screen').setOrigin(0).setScale(0.75)
       
        this.loadingImg = this.add.image(this.game.renderer.width/5, this.game.renderer.height*0.1, 'loading').setScale(0.5).setAlpha(0)
        this.level1Btn = this.add.image(this.game.renderer.width/2, this.game.renderer.height*0.2, 'level_1_btn').setScale(0.5)
        this.level2Btn = this.add.image(this.game.renderer.width/2, this.game.renderer.height*0.4, 'level_2_btn').setScale(0.5)
        this.level3Btn = this.add.image(this.game.renderer.width/2, this.game.renderer.height*0.6, 'level_3_btn').setScale(0.5)
        this.level4Btn = this.add.image(this.game.renderer.width/2, this.game.renderer.height*0.8, 'level_4_btn').setScale(0.5)
        this.level1Btn.setInteractive();
        this.level2Btn.setInteractive();
        this.level3Btn.setInteractive();
        this.level4Btn.setInteractive();


    }
    update(){

        this.level1Btn.on(Phaser.Input.Events.GAMEOBJECT_POINTER_DOWN, ()=>{
            this.loadingImg.setAlpha(1);
            this.scene.start('level_1')
        })
        this.level2Btn.on(Phaser.Input.Events.GAMEOBJECT_POINTER_DOWN, ()=>{
            this.loadingImg.setAlpha(1);
            this.scene.start('level_2')
        })
        this.level3Btn.on(Phaser.Input.Events.GAMEOBJECT_POINTER_DOWN, ()=>{
            this.loadingImg.setAlpha(1);
            this.scene.start('level_3')
        })
        this.level4Btn.on(Phaser.Input.Events.GAMEOBJECT_POINTER_DOWN, ()=>{
            this.loadingImg.setAlpha(1);
            this.scene.start('level_4')
        })
    }
}

标签: javascriptphaser-framework

解决方案


推荐阅读