2010-10-26 108 views
2

我最近從事學習WPF(說實話,因爲內置3D對象,攝像頭和渲染功能,我已經進入了它),這讓我可以做此:Java相當於WPF的3D功能

alt text

下載:Master Maze

使用方向鍵([↑] [↓] [→] [←])行走和轉向,[Q]或[A]和[ W]或[S](「上帝模式」),從上方看迷宮。

注意:我無意傷害任何人的PC。請第一個運行它的人在這裏評論說它是安全的?或者只是在虛擬機上運行它。

我知道這並不令人印象深刻(因爲在十分之一的時間裏有一些工具可以用來開發更平滑和更細緻的小遊戲),但它是爲了學習,並在3D開發和空間概念中發展我的概念。

當我最近在學習Java時,我想知道:是否有工具可以像使用WPF一樣方便地使用3D?對於那些不知道的人:WPF提供了創建3D對象,相機,燈光,面部並渲染它們的可能性(通過相機的視圖),而這個小小的測試遊戲是用固定的立方體和相機制作的,使用用戶交互來移動。

注意:不是一個騙局,它不是關於WPF的Java等價物,我特別要求關於WPF的3D功能。

回答

1

的java的equilant是Java 3D

如果你正在寫一個遊戲那麼簡單的組綁定像LWGL可能是一個比較合適的選擇。

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使用。

+0

老兄,你用手工製作的多邊形做了迷宮?我也是!檢查了這一點:http://dl.dropbox.com/u/3045472/StackOverflow/labyrinth.exe – Marcelo 2010-10-26 12:59:25