如何在 Android 的 AndEngine 上处理精灵和纹理区域
想象一下,我们有一个精灵,其中在一个纹理中包含所有必需的资源。在此示例中,三个圆圈(全部位于一个纹理中):
想象一下,我需要渲染一个此类精灵的特定区域,例如这个:
我们应该怎么做?谢谢!
Imagine we have a sprite that contains all our necessary assets in one texture. In this example, three circles (all them in just one texture):
Imagine that I need to render a specific region of such sprite, for example this one:
How should we do that? Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一种方法是使用 TexturePacker 和 AndEngineTexturePackerExtension。不过,您需要首先分离图像,然后使用TexturePacker打包它们,然后使用TexturePackerExtension加载它。
另一种方法是使用TextureAtlas并从中提取TextureRegion,然后将该区域用于Sprite。请参阅 AndEngine 示例中的 BasePhysicsJointExample,了解如何使用它从图集中提取 TextureRegion。您必须提供图集中图像的 x、y 坐标以及宽度、高度。
One way is to use TexturePacker and AndEngine TexturePackerExtension. You'll need to separate the images first though, then pack them using TexturePacker and then load it using TexturePackerExtension.
Other way is to use TextureAtlas and extract TextureRegion from it and then use that region for Sprite. See BasePhysicsJointExample in AndEngine examples how you can use it to extract TextureRegion from atlas. You'll have to provide x, y coordinates and width, height of the images in the atlas.