如何绘制一个简单的红色框?用JMonkey绘制矩形
1
A
回答
3
Quad
是一个预定义的网格(或形状),它具有高度,宽度并位于X/Y平面上。渲染网格需要一个Geometry
,并且Material
将定义它的颜色。您还必须将矩形的位置与鼠标光标的位置同步。所有这些都是必要的,你总是会得到最少量的代码。
public void simpleInitApp() {
// Create red transparent material
Material mat = new Material(getAssetManager(), "Common/MatDefs/Misc/Unshaded.j3md");
mat.setColor("Color", new ColorRGBA(1, 0, 0, 0.5f)); // 0.5f is the alpha value
// Activate the use of the alpha channel
mat.getAdditionalRenderState().setBlendMode(RenderState.BlendMode.Alpha);
// Create rectangle of size 10x10
Geometry mouseRect = new Geometry("MouseRect", new Quad(10, 10));
mouseRect.setMaterial(mat);
guiNode.attachChild(mouseRect);
}
public void simpleUpdate(float tpf) {
// Move the rectangle to the cursor position
Vector2f cursor = inputManager.getCursorPosition();
guiNode.getChild("MouseRect").setLocalTranslation(cursor.x, cursor.y, 0);
}
矩形的原点位于其左下角。您可能希望使用偏移量将光标位置处的矩形居中:setLocalTranslation(cursor.x - 5, cursor.y - 5, 0)
。
更多有关
形状:http://hub.jmonkeyengine.org/wiki/doku.php/jme3:advanced:shape
材料:http://hub.jmonkeyengine.org/wiki/doku.php/jme3:intermediate:how_to_use_materials
作为替代方案,你也可以用自定义图像替换鼠标光标。
请参阅http://hub.jmonkeyengine.org/forum/topic/custom-mouse-cursor-committed/
+0
我在底部添加了一个替代方案。也谢谢你 :) – 1000ml 2014-12-08 01:06:47
相关问题
- 1. 绘制矩形
- 2. Pygame绘制矩形
- 3. Android - 绘制矩形
- 4. 点绘制矩形
- 5. Swift绘制矩形
- 6. 用SharpDX绘制2D矩形
- 7. 用按钮绘制矩形
- 8. 用PDFLib绘制矩形图
- 9. 用XNA绘制矩形
- 10. VB.net绘制矩形形式
- 11. 在矩形内绘制等距矩形
- 12. 绘制矩形,然后绘制缩小矩形在先前的矩形内
- 13. 使用D3.js绘制矩形矩阵
- 14. 用gg多边形绘制矩形R
- 15. 在iOS中绘制矩形
- 16. 绘制旋转的矩形
- 17. NativeWindow绘制矩形Adobe Air
- 18. 在MKMapView中绘制矩形
- 19. OpenGL绘制矩形轮廓
- 20. 如何绘制矩形?
- 21. 绘制可逆矩形
- 22. 绘制多面矩形
- 23. c + +绘制矩形位置
- 24. 绘制矩形图像 - LibGdx
- 25. 在opengl绘制矩形android
- 26. 绘制矩形和网格
- 27. Google Maps API绘制矩形
- 28. 绘制矩形上Mapbox GL
- 29. 从坐标绘制矩形
- 30. 不能绘制矩形
jMonkeyEngine显示的所有内容最终都是Mesh。你的意思是一个填充框或只是轮廓? – 1000ml 2014-12-07 23:08:18