Texture Region 2D Array - 为什么我的精灵画得这么小?
Texture Region 2D Array - Why are my sprites drawing so small?
使用 Libgdx
框架,我从 Assets.java
class 生成一个 Actor
,然后根据他当前所处的状态绘制他。我遇到的问题是他出来的时候小得离谱。我注意到,当我将纹理拆分为区域时,与此处的纹理区域函数的单一声明相比,.Split()
函数不提供宽度和高度参数:new TextureRegion(Texture, x, y, width, height);
注意:我还设置了世界的大小、演员的大小等,他们不需要改变他有多小。我假设这与精灵大小或资产 class 有关。但是我切片纹理的方式非常适合我创建的引擎。
我想知道我是否遗漏了什么或要添加什么来定义 Assets.java
[=] 中 TextureRegions 的 width/height 29=]代码片段?
我所有的精灵都在一个 512x512 的纹理中,高度和宽度都是 85px
相关代码:
rubenSprite = loadTexture("data/rubenSprite.png");
rubenFrames = TextureRegion.split(rubenSprite, 85, 85);
WalkF1 = rubenFrames[0][0];
WalkF2 = rubenFrames[0][1];
WalkF3 = rubenFrames[0][2];
WalkF4 = rubenFrames[0][3];
WalkF5 = rubenFrames[0][4];
... More TextureRegions
如果需要更多代码或任何详细说明,请告诉我。谢谢。
actor的大小不是里面贴图的大小。演员有界限。当这个边界太低时,图像无法容纳在里面。反之,则类似。
你应该将你的演员设置为:
setWidth(width);
setHeight(height);
setBounds(left, right, width, height);
并确保该纹理也设置为宽度和高度。
顺便说一句。
我建议将可绘制对象与 Actors 一起使用。它更清楚。您创建皮肤,在其中定义所有动作,然后从皮肤调用纹理。
使用 Libgdx
框架,我从 Assets.java
class 生成一个 Actor
,然后根据他当前所处的状态绘制他。我遇到的问题是他出来的时候小得离谱。我注意到,当我将纹理拆分为区域时,与此处的纹理区域函数的单一声明相比,.Split()
函数不提供宽度和高度参数:new TextureRegion(Texture, x, y, width, height);
注意:我还设置了世界的大小、演员的大小等,他们不需要改变他有多小。我假设这与精灵大小或资产 class 有关。但是我切片纹理的方式非常适合我创建的引擎。
我想知道我是否遗漏了什么或要添加什么来定义 Assets.java
[=] 中 TextureRegions 的 width/height 29=]代码片段?
我所有的精灵都在一个 512x512 的纹理中,高度和宽度都是 85px
相关代码:
rubenSprite = loadTexture("data/rubenSprite.png");
rubenFrames = TextureRegion.split(rubenSprite, 85, 85);
WalkF1 = rubenFrames[0][0];
WalkF2 = rubenFrames[0][1];
WalkF3 = rubenFrames[0][2];
WalkF4 = rubenFrames[0][3];
WalkF5 = rubenFrames[0][4];
... More TextureRegions
如果需要更多代码或任何详细说明,请告诉我。谢谢。
actor的大小不是里面贴图的大小。演员有界限。当这个边界太低时,图像无法容纳在里面。反之,则类似。 你应该将你的演员设置为:
setWidth(width);
setHeight(height);
setBounds(left, right, width, height);
并确保该纹理也设置为宽度和高度。
顺便说一句。 我建议将可绘制对象与 Actors 一起使用。它更清楚。您创建皮肤,在其中定义所有动作,然后从皮肤调用纹理。