【问题标题】:Continuously scrolling background?连续滚动背景?
【发布时间】:2023-03-21 01:14:01
【问题描述】:

非常不言自明,我有一张我想用作背景的图片,我希望它不断滚动并重复自己。我在这个问题中找到了一些代码

Phaser.js - Infinite side scrolling background?

并像这样应用它

var game = new Phaser.Game(800, 600, Phaser.AUTO, '', {
    preload: preload,
    create: create,
    update: update
});

var bgtile;

function preload() {
    game.load.image('bgtile', 'riverTest.jpg');
}


function create() {
    bgtile = game.add.tileSprite(0, 0,
                 game.stage.bounds.width,
                 game.cache.getImage('bgtile').height,
                 'bgtile');
}

function update() {
    bgtile.tilePosition.x -= 1;
}

图像 riverTest.jpg 存储在我的资产文件夹中,但是,当我运行它时,它只显示黑屏。知道发生了什么吗?我对 Phaser JS 很陌生,所以任何解释都将不胜感激!

编辑:无论出于何种原因,我都不想检查控制台,但我遇到了两个错误

第 27 行(创建函数):未捕获的类型错误:无法读取未定义的属性“宽度”

第 31 行(更新函数):Uncaught TypeError: Cannot read property 'tilePosition' of undefined

【问题讨论】:

  • 你的目录结构是什么样的。你的游戏js在哪里?它在根目录中,而您的图像在资产中?

标签: javascript phaser-framework


【解决方案1】:

切换

game.stage.bounds.width

到

game.stage.getBounds.width

【讨论】:

  • 我显然在控制台中遇到了我没想到的错误。我编辑了包含错误的问题
  • @Joris ,我测试了你的代码并且它工作正常......你再次在网络服务器上运行它吗?
  • 是的,我在 wamp 上运行它
  • 你用的是什么版本的移相器?
  • @Joris 看看我编辑过的帖子。显然它不再限制它的 getBounds
猜你喜欢
  • 1970-01-01
  • 2014-10-03
  • 1970-01-01
  • 2016-08-22
  • 2011-12-03
  • 1970-01-01
  • 1970-01-01
  • 2017-09-12
  • 1970-01-01
相关资源
最近更新 更多