我有一个加载场景,预加载了我的纹理.

preload() {
  this.load.image("ship", "./assets/ship.png")...

和带有自定义玩家对象的关卡场景..

export class Player extends Phaser.Physics.Matter.Sprite {

constructor(scene: Scene) {
    super(scene.matter.world, 64, 64, "ship", undefined, {
      friction: 0.025,
      frictionAir: 0.25,
   }); ...

但在播放器对象中,我不能设置纹理,它没有任何效果.

在水平场景中:

create(){
  this.player = new Player(this);...

如何在关卡场景的Player子类中加载纹理?谢谢.

推荐答案

您只需将精灵添加到场景中,使用命令scene.add.existing(this);,当前仅添加物理对象.

Here a small Demo:

document.body.style = 'margin:0;';

class Player extends Phaser.Physics.Matter.Sprite {
    constructor(scene) {
        super(scene.matter.world, 64, 64, "blue", undefined, {
            friction: 0.025,
            frictionAir: 0.25,
        }); 

        scene.add.existing(this);
    }
}

class Example extends Phaser.Scene {
    preload () {
        this.load.image('blue', 'https://labs.phaser.io/assets/sprites/columns-blue.png');
    }

    create () {
        //const rect = this.matter.add.image(200, 50, 'blue');
        this.player = new Player(this);
     
    }
}

const config = {
    width: 500,
    height: 185,
    physics: {
        default: 'matter',
        matter: {
            debug: true
        }
    },
    scene: Example
};

const game = new Phaser.Game(config);
<script src="//cdn.jsdelivr.net/npm/phaser/dist/phaser.min.js"></script>

Javascript相关问答推荐

如何制作删除按钮以从列表中删除该项目所属的项目?

基于每个索引迭代嵌套对象

强制执行useStatego struct 化变量[foo,setFoo]的命名约定?

如何编辑代码FlipDown.js倒计时?

如何获取转换字节的所有8位?

MongoDB中的引用

如何在Javascript中的控制台上以一行形式打印循环的结果

Spring boot JSON解析错误:意外字符错误

当Redux提供程序访问Reduxstore 时,可以安全地从Redux提供程序外部调用钩子?

如何根据当前打开的BottomTab Screeb动态加载React组件?

JSDoc创建并从另一个文件导入类型

如何将Cookie从服务器发送到用户浏览器

编剧如何获得一个div内的所有链接,然后判断每个链接是否都会得到200?

rxjs插入延迟数据

如果没有页面重新加载Angular ,innerHTML属性绑定不会更新

如何为仅有数据可用的点显示X轴标签?

不同表的条件API端点Reaction-redux

处理app.param()中的多个参数

如何修复使用axios运行TSC index.ts时出现的错误?

FindByIdAndUpdate在嵌套对象中创建_id