【问题标题】:Changing images in phaser preload在移相器预加载中更改图像
【发布时间】:2016-05-24 07:24:22
【问题描述】:

所以当我像这样在移相器的预加载功能中添加图像时:

function preload() {  
    this.load.image('platform', 'images/platform.png', 10, 15);  
}

然后我正在更改宽度和高度,或者我想将我的图像更新为更新的图像,它似乎没有更新这个。当我测试我的游戏时,它仍然是具有原始宽度和高度的旧图像。

function preload() {  
    this.load.image('platform', 'images/platform.png', 15, 20);  
}  

新代码与另一个同名图像

【问题讨论】:

  • 第三个和第四个参数是什么? API 说你应该提供三个参数:图像键、URL 和(可选)一个布尔值,它表示是否用相同的键覆盖缓存中可能存在的图像。
  • 我只是用新代码替换旧代码,还是这是不好的做法?我是移相器的新手

标签: phaser-framework


【解决方案1】:

如果您想使用相同的密钥加载新图像,您应该这样做: 第一次调用:

this.load.image('platform', 'images/image.png');

第二次调用(第三个参数为'true'):

this.load.image('platform', 'images/new.png', true);

恕我直言,您应该重新考虑这个选择并使用两个单独的键加载两个图像,然后根据您的需要使用一个或另一个。

【讨论】:

  • Hamdi,谢谢您的回答。这种解决了我的问题,但问题是我不想再使用第一个平台图像了。我不能仅仅通过替换代码来摆脱它吗?
  • yes ;) 这就是我最初所做的,这就是整个问题。他一直在显示旧图像
  • var game = new Phaser.Game(360, 640, Phaser.AUTO, '', { preload: preload, create: create, update: update }); function preload() { this.load.image('platform', 'images/platform.png', 10, 15) } 就是这样,然后我更改为 'images/platform.png', 15, 20。但没有任何变化
  • 因为是同一个文件platform.png。您是否尝试过使用另一个文件并使用true 作为第三个参数。这就是我在回答中给出的:this.load.image('platform', 'images/new.png', true);。请不要使用 new.pngtrue 参数
  • 好吧,我想这是唯一的解决方案。但它对我来说已经足够了 :) 非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-03
  • 2012-07-15
  • 1970-01-01
  • 2014-10-11
  • 1970-01-01
  • 2016-11-18
  • 2014-10-19
相关资源
最近更新 更多