javascript - phaser js 3 loadTexture 不是函数

标签 javascript phaser-framework

我想写一些类似俄罗斯方 block 的输出,由可能处于两种状态的 block 组成。当它变为事件状态时,我需要更改 block 的 Sprite 。为了进行测试,我刚刚添加了在按下左按钮时激活一个 block 的设置。

我尝试调用 loadTexture,但它抛出 loadTexture is not a function 错误

    function create() {
        field = new Array(height)
        for (let i = 0; i < height; i++) {
            field[i] = new Array(width);
            for (let j = 0; j < width; j++) {
                field[i][j] = new Object();
                field[i][j].isActive = false;
                field[i][j].sprite = this.add.sprite(j * blockSize, i * blockSize, 'block').setOrigin(0, 0);
            }
        }
        cursors = this.input.keyboard.createCursorKeys();
    }

    function update() {
        if (cursors.left.isDown) {
            field[1][1].isActive = true;
        }
        for (let i = 0; i < height; i++) {
            for (let j = 0; j < width; j++) {
                if (field[i][j].isActive && field[i][j].sprite.texture.key != 'blockActive') {
                    field[i][j].sprite.loadTexture('blockActive', 0);
                }
            }
        }
    }

最佳答案

您已经知道这是 setTexture 而不是 loadTexture。但是,您真的应该考虑使用纹理图集并仅更改框架(通过 setFrame),而不是在玩家每次按下按键时都设置全新的纹理。

关于javascript - phaser js 3 loadTexture 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54391965/

相关文章:

javascript - 来自 Tiled 的 Tilemap 未在 Phaser 中渲染

javascript - 由于原始图像的某些部分丢失,难以解决移相器滑动难题

javascript - 如何在 Phaser 中的 mapLayer 上获取平铺类型

javascript - React Leaflet : Dynamic Markers, 无法读取属性 'addLayer'

javascript - Tracker.autorun() 不会在 ReactiveVar 的每次更新时运行

javascript - 带有折叠内容的 jQuery 可排序

javascript - 为 Phaser 创建碰撞形状

javascript - V-不输出

javascript - 是否有可能以当前排序的顺序跨多个页面获取所有 jqGrid 行?

javascript - 扩展 Phaser.js 类