虽然工作在进行Android开发,但是在项目业余的时间里,我都在进行Unity3d的学习。也制作了一个联机的坦克对战游戏。而在晚上有时间的时候,也只是在Mac mini上学习IOS的开发,所以没怎么写博客。
JavaFX,之前还是对它很感兴趣,不过后来发现JavaFX还是只适合开发小游戏,对于大一点的游戏来说,效率不够。所以有一段时间没有研究JavaFX了。
不过JavaFX也有一个好消息,在JDK 8中,JavaFX即将支持3D了。包括3d mesh,Camera和灯光等。
JDK 8的下载地址:http://jdk8.java.net/download.html
下面是一个小示例:
import javafx.application.Application;
import javafx.scene.*;
import javafx.scene.paint.Color;
import javafx.scene.paint.PhongMaterial;
import javafx.scene.shape.*;
import javafx.stage.Stage;
public class Shapes3DViewer extends Application {
@Override public void start(Stage stage) {
PhongMaterial material = new PhongMaterial();
material.setDiffuseColor(Color.LIGHTGRAY);
material.setSpecularColor(Color.rgb(30, 30, 30));
Shape3D[] meshView = new Shape3D[] {
new Box(200, 200, 200),
new Sphere(100),
new Cylinder(100, 200),
};
for (int i=0; i!=3; ++i) {
meshView[i].setMaterial(material);
meshView[i].setTranslateX((i + 1) * 220);
meshView[i].setTranslateY(500);
meshView[i].setTranslateZ(20);
meshView[i].setDrawMode(DrawMode.FILL);
meshView[i].setCullFace(CullFace.BACK);
};
PointLight pointLight = new PointLight(Color.ANTIQUEWHITE);
pointLight.setTranslateX(800);
pointLight.setTranslateY(-100);
pointLight.setTranslateZ(-1000);
Group root = new Group(meshView);
root.getChildren().add(pointLight);
Scene scene = new Scene(root, 800, 800, true);
scene.setFill(Color.rgb(10, 10, 40));
scene.setCamera(new PerspectiveCamera(false));
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
不过目前,只支持Windows平台,可以在其他平台使用的OpenGL的版本正在开发中。
有兴趣的可以下载JDK 8尝试一下效果。
补充一个网址 计划在JDK 8中添加的JavaFX 3D的相关内容:
https://wikis.oracle.com/display/OpenJDK/3D+Features
可以看到包括摄像机,3D几何元素,灯光,材质,3D拾取和3D模型加载等内容。
分享到:
相关推荐
java FX 学习手册 网上收集
Java fx实例教程,有这个实例,不用再买Java FX方面的书都够了
java fx 3d 魔方,下载导入项目便可直接使用,RubikFX ,3D ,FX
Java Fx的开发实例,包含button,TableView,窗体切换等技术,调用CSS样式等,非常好的学习实例
一个简单的Java FX入门级的飞机大战小游戏,能实现飞机的上下左右移动,发射子弹能消灭敌方飞机,有计分系统,当敌方飞机碰到我方飞机时,游戏结束。此游戏没有复杂的贴图,只有矩形来表示飞机和子弹。 适合人群:...
JAVA FX官方教程:RIA应用开发 完整版文档
从 javaFx.com 上 下载下来的 喜欢的可以赶紧下
这是一个ppt给我们介绍了一下java FX的layout
漫谈Java FX.pdf
用Java fx语言编写 沿着正弦曲线运动的小球的程序吧
Cartoon FX Pack unity3d卡通特效插件 各版本合集
about java FX, u can use it as a description to develop a project with java FX...
Trails FX提供多个选项,支持创建大量特效,包括简单的颜色拖尾、彩虹纹理图章和空间失真特效。 功能:适用于 3D 和蒙皮网格渲染器。为移动的对象添加脚本,自定义行为和拖尾的外观。创建配置文件,以保存和重新使用...
Pro Java FX9 4th [pdf]
Chart FX for Java 是百分之百的Java组件,它能通过你的J2EE程序服务器和JSP技术,以多种格式(包括PNG, JPEG, SVG以及FLASH)来生成图表。 另外,Chart FX for Java会以ActiveX 或.NET形式生成标准的Windows输出...
三菱FX系列输入和输出模块2D3D模型CAD图纸汇总,模型格式示例如下: fx2n-8e_a.pdf; fx2n-8e_a_igs.zip; fx2n-8e_a_stp.zip; fx2n-8e_a_x_t.zip
附件包含三菱FX3U系列PLC所有2D和3D模型,模型格式示例: fx3u-16m_a_dxf_wmf.zip; fx3u-16m_a_igs.zip; fx3u-16m_a_stp.zip; fx3u-16m_a_x_t.zip
树叶飘落FX Pack 3D Rolling Leafs
最新最强大的粒子特效插件 可以完美结合 unity3D5