英文:
Issue using sprite, extra margin in character sprite
问题
使用Matter物理引擎在Phaser.js中加载玩家角色时,会出现额外的边距。是否可以在Phaser.js中移除它,还是需要直接更新图像。
英文:
when i load player character in Phaser.js using matter physics there's a extra margin. Is there a way to remove it using Phaser.js or i will need to update the image directly.
答案1
得分: 1
如果你只想改变大小,因为物理碰撞,你可以简单地使用 Body
对象的 setSize
函数。(文档链接)
同时,使用 setOffset
可以将碰撞框移动到正确的位置。(文档链接)
player.body.setSize(10,10);
player.body.setOffset(5, 0);
> 在这里 你可以找到一个官方示例,其中一个静态物体的碰撞框被扩大,使用了相同的函数。
英文:
If you just want to change the size, because of physics collisions, you can simply use the function setSize
of the Body
object. (link to the documentation)
And with setOffset
you can move the collision box, to the correct position.
(link to the documentation)
player.body.setSize(10,10);
player.body.setOffset(5, 0);
> Here you can find an official example with a static body, where the collision box is been made larger, with the same function.
答案2
得分: 0
感谢winner_joiner的帮助。
对于Arcade物理引擎
要裁剪精灵的碰撞框,您可以使用 player.body.setSize(10,10);
或 player.body.setOffset(5, 0);
对于Matter物理引擎
使用 setBody({width:10, height:10})
,或者 setRectangle
最终结果
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论