【发布时间】:2015-12-13 21:47:17
【问题描述】:
我正在使用 java libGDX 框架进行游戏开发。我正在尝试从屏幕上清除绘制的纹理。
让我们举一个经典的游戏示例 - 在许多游戏中,当角色穿过硬币时,硬币会从屏幕上清除并显示一个甜美的动画,例如淡入淡出从硬币中收集的点数 (+10) 并显示该位置的硬币爆炸动画。
我想做类似的事情。
我正在使用SpriteBatch 来绘制如下纹理区域。
设置纹理区域:
(...)
public Texture texture;
public TextureRegion coin;
texture = new Texture(Gdx.files.internal("data/texture.png"));
texture.setFilter(TextureFilter.Nearest, TextureFilter.Nearest);
coin = new TextureRegion(texture, 0, 336, 65, 73);
(...)
将纹理绘制到屏幕上:
public SpriteBatch batcher;
batcher = new SpriteBatch();
batcher.setProjectionMatrix(cam.combined);
batcher.begin();
batcher.enableBlending();
batcher.draw(coin, x, y, 65,73);
(...)
(...)
batcher.end();
游戏角色也是使用上面显示的相同逻辑绘制的。 现在当游戏角色与我画的硬币碰撞时,硬币必须被清除(消失)并且一些动画或像+50这样的大字体必须在那个位置淡入淡出。我试过但没有找到任何会做这个。 那么该怎么做呢?
【问题讨论】:
-
libgdx 不是一种简单易行的方式。您必须自己做所有事情
-
@DuhProgrammer13 我不是要整个游戏代码。我只是想知道是否有一些功能可以取消/删除/删除我使用 spritebatch 绘制的纹理。
-
你的硬币是如何存储的?
-
texture.png 有一个硬币图像和其他游戏资产图像。我使用 TextureRegion() 从那里获取硬币图像,如代码本身所示。
-
那很好,但是硬币的(x,y)坐标怎么存储呢?
标签: libgdx