Java相当于WPF的3D功能

时间:2010-10-26 12:50:24

标签: java .net wpf 3d

我最近开始研究WPF(老实说,我之所以加入它只是因为有内置的3D对象,相机和渲染功能),这让我可以做到这一点:

alt text

下载:Master Maze

使用方向键([↑] [↓] [→] [←])走路和转弯,[Q]或[A],以及[W]或[S](“神模式”)从上面看迷宫的外观。

注意:我无意伤害任何人的电脑。请问,第一个运行它的人会在这里评论它是否安全?或者只是在虚拟机上运行它。

我知道的并不是那么令人印象深刻(考虑到有一些工具可以用来开发更方便,更细致的小游戏,比如十分之一的时间),但它是为了学习,并在3D开发和空间概念中发展我的观念。

我最近正在学习Java,我想知道:有没有像使用WPF中提供的工具一样使用3D工具?

对于那些不知道的人:WPF提供了创建三维物体,相机,灯光,面部和渲染它们的可能性(通过相机的视图),这个小测试游戏是用固定的立方体和移动的相机制作的使用用户交互。

注意:不是骗局,它不是WPF的Java等价物,我是专门询问WPF的3D功能。

2 个答案:

答案 0 :(得分:1)

java equilant是Java 3D

如果您正在编写游戏,那么更简单的一组绑定(如LWGL)可能是更合适的选择。

答案 1 :(得分:0)

:D我在Java中使用Swing进行了迷宫游戏。我的渲染就像它

一样
public void paintComponent(Graphics g)
{
    super.paintComponent(g);
    buffor = (Graphics2D)g;
    double ca,sa,alfa,r,x=0,y=0,size;
    buffor.setColor(Color.BLUE);
    buffor.fillRect(0,0,639,240);
    buffor.setColor(Color.GREEN);              
    buffor.fillRect(0,241,639,479);
    alfa=ga-0.52359; ///the result how we see things
    buffor.setColor(Color.WHITE); 
    int i;
    for (i=0;i<640;i++)
    {       
        if((map[(int)(y/64.0)][(int)(x/64.0)]=='e'))
        {
            buffor.setColor(Color.BLACK); 
            buffor.drawString("EXIT",330,330);
            buffor.setColor(Color.WHITE); 
        }
        ca=Math.cos(alfa); sa=Math.sin(alfa); r=0.0; x=gx; y=gy;
        while((map[(int)(y/64.0)][(int)(x/64.0)]!='x') && (map[(int)(y/64.0)][(int)(x/64.0)]!='e'))
               {
                    x=gx+r*sa;
                    y=gy+r*ca;
                    r=r+0.01;
               }
        r *= Math.cos(ga - alfa);
        size=12000/r;
        buffor.drawLine(i,240-(int)size,i,240+(int)size);
        alfa=alfa+0.00163625;
    }
    buffor.drawImage(cross,289,209,null);
    buffor.drawImage(logo,0,0,null);
    System.out.println(""+ (int)(gy/64.0) + " " + (int)(gx/64.0) + " " + ga);
}

Java3D但这与WPF不同,而且不容易使用IMO。