我对游戏开发有点陌生。我现在将 Phaserjs 用于我的 html5 游戏。我想将超出边界一侧的精灵部分带到另一侧。我已经浏览了Phaser 中的图像文档。我不确定如何进行。考虑复制该部分并粘贴到画布上,但游戏对象引用将不一样。此外,复制功能有其限制(从图像左上角复制)。
我浏览了Phaser 示例。但没有得到任何线索。
任何帮助表示赞赏。谢谢。
我对游戏开发有点陌生。我现在将 Phaserjs 用于我的 html5 游戏。我想将超出边界一侧的精灵部分带到另一侧。我已经浏览了Phaser 中的图像文档。我不确定如何进行。考虑复制该部分并粘贴到画布上,但游戏对象引用将不一样。此外,复制功能有其限制(从图像左上角复制)。
我浏览了Phaser 示例。但没有得到任何线索。
任何帮助表示赞赏。谢谢。
如果我正确理解您的问题,您可以尝试以下解决方案:
sprite
+ blank space
+sprite
现在,如果您将精灵部分移出屏幕,它的副本将在完全相同的 y 点移入屏幕。
可能有一个更好的解决方案可以处理 spritesheet 动画和碰撞,但这似乎比切割图像的一部分并移动它们更简单。
这是 jsfiddle:http: //jsfiddle.net/m8nj4cjr/
即使我是 Phaser-framework 的新手,它也使用画布渲染器。我希望画布示例对您有所帮助。
您需要处理两种情况:
让一个精灵向右移动。如果条件sprite.x + sprite.width > canvas.width
为真,则精灵部分超出范围。在画布的左端渲染部分精灵超出范围。context.rect(sprite.x - canvas.width, sprite.y, sprite.width, sprite.height);
当精灵完全超出右端边界sprite.x > canvas.width
时,将其位置 x 设置为 0。sprite.x = 0