首页 > 代码库 > libgdx 3D 瞄准星和隐藏鼠标
libgdx 3D 瞄准星和隐藏鼠标
1. 瞄准星
1 /**画瞄准星*/ 2 private void drawSight(){ 3 debugRenderer.begin(ShapeRenderer.ShapeType.Line); 4 float w = 50; 5 float h = 40; 6 Rectangle rect = new Rectangle((Gdx.graphics.getWidth()-w)/2, (Gdx.graphics.getHeight()-h)/2, w, h); 7 debugRenderer.setColor(new Color(0, 1, 0, 1)); 8 debugRenderer.rect(rect.x, rect.y, rect.width, rect.height); 9 10 //画十字线11 debugRenderer.line((Gdx.graphics.getWidth()-2*w)/2,Gdx.graphics.getHeight()/2,(Gdx.graphics.getWidth()+2*w)/2,Gdx.graphics.getHeight()/2);12 debugRenderer.line(Gdx.graphics.getWidth()/2,(Gdx.graphics.getHeight()-2*h)/2,Gdx.graphics.getWidth()/2,(Gdx.graphics.getHeight()+2*h)/2);13 debugRenderer.end();14 }
debugRenderer = new ShapeRenderer();debugRenderer.setProjectionMatrix(stage.getCamera().combined);
其中stage是ui用的,比如显示个FPS之类的,或者其他用户界面
效果图:
2. 隐藏鼠标指针
1 /**隐藏鼠标指针*/ 2 private void hideCursor(){ 3 if (Gdx.app.getType() != Application.ApplicationType.Desktop) 4 return; 5 if (emptyCursor == null) { 6 if (Mouse.isCreated()) { 7 int min = org.lwjgl.input.Cursor.getMinCursorSize(); 8 IntBuffer tmp = BufferUtils.newIntBuffer(min * min); 9 try {10 emptyCursor = new org.lwjgl.input.Cursor(min, min, min / 2, min / 2, 1, tmp, null);11 } catch (LWJGLException e) {12 e.printStackTrace();13 }14 } else {15 System.out.println("Could not create empty cursor before Mouse object is created");16 }17 }18 if (Mouse.isInsideWindow())19 try {20 Mouse.setNativeCursor(false ? null : emptyCursor);21 } catch (LWJGLException e) {22 e.printStackTrace();23 }24 }
private org.lwjgl.input.Cursor emptyCursor;
我抄来的,详情见:https://gist.github.com/mattdesl/4255483
//TODO 准星在调整窗口大小后有问题。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。