我该如何在游戏中画出这个?

时间:2014-01-01 21:51:54

标签: java android eclipse opengl-es libgdx

我开始为Android开发游戏,我认为这是一个非常简单的问题。我正在尝试复制游戏“不可能的游戏”,如下所示进行一些练习。我在播放器用作“地面”的白线方面遇到了麻烦。当我想要创建它时,我应该创建它作为自己的纹理并在纹理图集地图上绘制它然后将其放入我的游戏关卡图片并使用碰撞检测,或者我应该只在背景图像中创建该行并说如果球员位置y =数字,然后停止下降?然后当玩家向上移动时向上滚动相机,这样线条就不会一直停留在屏幕的那一部分。哪种方法更简单?汉克斯。我只是不确定什么更容易。

Impossible Game

1 个答案:

答案 0 :(得分:0)

您可以使用ShapeRenderer画一条这样的一行:

//x,y your first point, x2,y2 your second point
shapeRenderer.line(x, y, x2, y2);

如果您希望获得与您发布的图像相同的效果(具有线条渐变的限制),则可以将其划分为3行,一行从完全透明色到白色,一个全白为最长的一个,另一个从全白到完全透明。

这样的事情:

white = new Color(1,1,1,1);
transp = new Color(1,1,1,0);

shapeRenderer.line(x, y, x2, y2, transp, white); //Transp. to white
shapeRenderer.line(x2, y2, x3, y3, white, white); //all White
shapeRenderer.line(x3, y3, x4, y4, white, transp); //White to transp

只需设置正确的点数即可。 (并且不要每帧都创建新的Color!)

当然你也可以在你的地图册中设置一个TextureRegion全白(即使是1x1就可以了)。只需按照您想要的大小和位置进行渲染。

batch.draw(whiteregion, x, y, width, height);