Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我应该如何在游戏中画这个?_Java_Android_Eclipse_Opengl Es_Libgdx - Fatal编程技术网

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

Java 我应该如何在游戏中画这个?,java,android,eclipse,opengl-es,libgdx,Java,Android,Eclipse,Opengl Es,Libgdx,我开始为android开发游戏,我有一个非常简单的问题。我试图复制“不可能的游戏”,这是下面展示的一些练习。我对玩家用作地面的白线有问题。当我想创建它的时候,我应该创建它自己的纹理,像在纹理地图上那样绘制它,然后把它放到我的游戏级图片中并使用碰撞检测,还是我应该在背景图像中创建那条线,然后说如果玩家的位置y=数字,然后停止下降?然后,当播放器升得更高时,向上滚动相机,这样线条就不会一直停留在屏幕的那一部分。哪种方法更简单?汉克斯,伙计们。我只是不知道什么更容易 可以使用绘制如下所示的线: //x

我开始为android开发游戏,我有一个非常简单的问题。我试图复制“不可能的游戏”,这是下面展示的一些练习。我对玩家用作地面的白线有问题。当我想创建它的时候,我应该创建它自己的纹理,像在纹理地图上那样绘制它,然后把它放到我的游戏级图片中并使用碰撞检测,还是我应该在背景图像中创建那条线,然后说如果玩家的位置y=数字,然后停止下降?然后,当播放器升得更高时,向上滚动相机,这样线条就不会一直停留在屏幕的那一部分。哪种方法更简单?汉克斯,伙计们。我只是不知道什么更容易

可以使用绘制如下所示的线:

//x,y your first point, x2,y2 your second point
shapeRenderer.line(x, y, x2, y2);
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
如果你想获得与你发布的图像中相同的效果,并限制线条褪色,你可以将其分为3行,一行从全透明颜色变为白色,一行全白色最长,另一端从全白色变为全透明

大概是这样的:

//x,y your first point, x2,y2 your second point
shapeRenderer.line(x, y, x2, y2);
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
只要设定正确的点。不要在每一帧都创建新的s

当然,您也可以在atlas内部制作一个全白色的,即使是1x1也可以。只需按您想要的大小和位置渲染即可

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

是什么阻止你仅仅画一条线?如果有多个实体在玩家绝对位置之外移动,我建议使用碰撞,而不是依赖坐标。好的,我将创建一个线纹理并渲染,就像我对正方形所做的那样,并使用碰撞检测。非常感谢。