我对游戏开发有点新意。我现在正在使用Phaserjs进行html5游戏。我想将超出边界一侧的精灵部分带到另一边。我经历过image docs in Phaser。我不知道该怎么办。考虑将部分复制并粘贴到画布上但游戏对象引用不一样。此外,复制功能有其限制(从图像的左上角复制)。
我经历了Phaser examples。但没有得到任何线索。
感谢任何帮助。感谢。
答案 0 :(得分:0)
如果我理解你的问题,你可以尝试这个解决方案:
sprite
+ blank space
+ sprite
现在,如果您将精灵部分地移出屏幕,它的副本将在完全相同的y点移动到屏幕上。
可能有一个更好的解决方案适用于spritesheet动画和碰撞,但这似乎比剪切部分图像并移动它们更简单。
答案 1 :(得分:0)
这是jsfiddle:http://jsfiddle.net/m8nj4cjr/
尽管我是phaser-framework的新手,但它使用了canvas渲染器。我希望canvas示例能帮到你。
您需要处理两种情况:
让精灵向右移动。如果条件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