【发布时间】:2014-03-17 02:27:04
【问题描述】:
我正在尝试使用 libGDX 制作类似弹弓的东西。
我的代码
if (Gdx.input.isTouched()) {
ShapeRenderer sr = new ShapeRenderer();
sr.setColor(Color.BLACK);
sr.setProjectionMatrix(camera.combined);
sr.begin(ShapeType.Line);
sr.line(player.getLeft().x, player.getLeft().y,
Global.game_touch_position.x, Global.game_touch_position.y);
sr.line(player.getRight().x, player.getRight().y,
Global.game_touch_position.x, Global.game_touch_position.y);
sr.end();
}
这样做我会得到输出 这看起来很糟糕,如果我在我的 android 手机上调试,logcat 会被消息发送垃圾邮件
02-17 18:55:27.371: D/dalvikvm(7440): GC_CONCURRENT freed 1884K, 40% free 8287K/13635K, paused 15ms+2ms, total 40ms
而且滞后,当我触摸屏幕时,我有 30 fps,而当我不触摸时,我有 60 fps...
我还需要画粗一点的线,所以当线变大时,我必须把它加粗,看起来很酷。
在 libgdx 中绘制简单线条的最佳方法是什么? 如果我找不到任何答案,我可能会从线的一点到另一点画圈……这看起来不错,但看起来不像弹弓……
有什么帮助吗?
【问题讨论】:
-
我猜你收到垃圾邮件是因为每帧渲染都创建了
ShapeRenderer的实例。尝试在构造函数中创建一次。 -
但我应该如何与思想划清界限?
-
通常尝试在每个帖子中提出一个问题。 SO 就是围绕这一点设计的。无论如何,请参阅stackoverflow.com/questions/16680908/… 了解线条粗细。