`
westice
  • 浏览: 114297 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

在JmonkeyEngine里进行swing编程

阅读更多

 

 

在monkey里怎么加入导航,还有一些重要的信息,比如游戏人物的一些属性,而且这个只需要二维显示就行了。

添加swing组件是比较好的选择。

 

一、生成swing显示桌面。

		display=DisplaySystem.getDisplaySystem();
		displaywide=display.getWidth();
		displayheight=display.getHeight();
		desktop=new JMEDesktop("controldesk");
		desktop.getJDesktop().setBackground(new Color(0,0,0,0));//完全透明
		desktop.setup(displaywide,displayheight,false,input);
                this.attachChild(desktop);

 

    这个桌面对象 desktop可以放在三维场景中的任意位置,但我希望他能固定在摄像机前面,

    下面这一句很有用,设置渲染模式

    this.setRenderQueueMode(Renderer.QUEUE_ORTHO);

    有了这一句,这个桌面好像就贴在了摄像机的镜头上了,不再属于三维场景,不太理解

    

 

二、生成桌面控制器

    desktopPane=desktop.getJDesktop();

  

   有了这个控制器对象,就可以在上面添加各种swing组件了

 

比如:

         JButton changegear=new JButton("切换油门档(C)");
         changegear.setSize(displaywide/8, displayheight/23);
         changegear.setLocation(displaywide*58/100, displayheight*95/100);
         desktopPane.add(changegear);

 

下面show我做的坦克游戏 swing效果:


 

下面白色的文字是 TEXT2D,不支持中文,到时换成jLabel就OK了。  按钮和小地图是swing 写的,小地图中红色的是敌人,

白色的是主角,不动的,只是方向根据车体指向变化,和敌人的位置进行了一下坐标变换就成了,真实的雷达应该也是这样显示的。

google code地址:http://code.google.com/p/netjava3d/ 有兴趣一起研究吧!

 

 

 

  • 大小: 105.4 KB
分享到:
评论
10 楼 westice 2010-02-05  
turionboy 写道
je真是人才辈出呀,还有玩jme的,很早听说过这个东西,不知道做3D效果咋样,有兄弟可以交流一下经验呀。

  效果不错,对显卡要求有点高,我的7300显卡还是能应付
9 楼 turionboy 2010-02-05  
je真是人才辈出呀,还有玩jme的,很早听说过这个东西,不知道做3D效果咋样,有兄弟可以交流一下经验呀。
8 楼 cd1985 2010-02-04  
396229331
7 楼 westice 2010-02-04  
cd1985 QQ多少,我这有很多问题要解决啊,^-^
6 楼 cd1985 2010-02-04  
fontFile, textureFile 要用 http://www.angelcode.com/products/bmfont/  这工具搞下。

默认的fontFile, textureFile 是英文。
5 楼 westice 2010-02-04  
我试着加了中文,怎么显示不了?final String txtB = "cc中文This extension provides a mechanism\n to specify vertex attrib and "+ "element array locations using GPU addresses.";
4 楼 cd1985 2010-02-04  
例子在 jmetest\text\TestBitmapFont.java
3 楼 cd1985 2010-02-04  
2.01里 新增的 看 com.jmex.angelfont 下源码
用法                  URL fontFile =
                 getClass().getClassLoader().getResource("data/angelFont.fnt");
                 URL textureFile =
                 getClass().getClassLoader().getResource("data/angelFont.png");
                 BitmapFont fnt = BitmapFontLoader.load(fontFile,
                textureFile);

http://www.angelcode.com/products/bmfont/  可以生成 需要的 fontFile,txtureFile

期待 jme3 啊 嘿嘿!
2 楼 westice 2010-02-04  
2.0里的BitmapFont吗?cd1985是monkey高手,我这在纠结啊
1 楼 cd1985 2010-02-04  
BitmapFont 支持中文。

相关推荐

Global site tag (gtag.js) - Google Analytics