首页 > 解决方案 > 无法读取未定义的属性(读取“纹理”)

问题描述

preload() {
    // prelaoding atlas png and json and anim json
    this.load.atlas('character','./Assets/Sprites/character_atlas.png','./Assets/Sprites/character_atlas.json');
    this.load.animation('character_anims','./Assets/Sprites/character_anim.json');
}


create(){
    // assigning player object to a physic
    this.player = new Phaser.Physics.Matter.Sprite(this.matter.world,0,0,'character','male_1');
    // printing sprite onto screen
    this.add.existing(this.player);
    // assigning keyboard inputs to variables
    this.inputKeys = this.input.keyboard.addKeys({
        up: Phaser.Input.Keyboard.KeyCodes.UP,
        down: Phaser.Input.Keyboard.KeyCodes.DOWN,
        left: Phaser.Input.Keyboard.KeyCodes.LEFT,
        right: Phaser.Input.Keyboard.KeyCodes.RIGHT,
    })
    console.log(this.player);
}

update(){
    this.player.anims.play('walking_right')

为什么是this.player.anims未定义的?不this.load.animation创建this.player.anims

检查器显示动画已初始化:

检查器显示动画已初始化

标签: javascriptoopphaser-framework

解决方案


推荐阅读