2010-01-27 105 views
2

如何在使用Papervision 2.0(Great White)時獲取3D對象的2D屏幕座標?我讀過以下屬性應返回屏幕COORDS但這些始終返回0獲取Papervision 2.0中3D對象的2D屏幕座標

myDisplayObject3D.screen.x 
myDisplayObject3D.screen.y 

我也試着設置:

myDisplayObject3D.autoCalcScreenCoords = true; 

但這並沒有影響。任何幫助,將不勝感激。

回答

0

screen.x和screen.y應該工作。你的3D對象是否添加到場景中?

在網上的文章(pv3d.org,everydayflash)都看起來不錯。

你可以發佈一段代碼(或者隔離一段代碼,或者對你的情況寫一個簡單的比喻),這樣我們就可以知道可能出錯的線索了嗎?

+0

myDisplayObject3D.autoCalcScreenCoords = true; trace(myDisplayObject3D.screen.x,myDisplayObject3D.screen.y); 這個僞代碼幾乎就是我正在做的。我不確定是否需要autoCalcScreenCoords,因爲它似乎必須以任何方式實現。我試過它的各種對象,他們都返回0.我有一種感覺這個問題是特定於2.0版本,我敢肯定它在早期版本(1.5)工作正常 我想弄清楚如果有是在2.0中做到這一點的一種新方式,或者它是否被簡單地破壞了。 – Groady 2010-01-27 23:04:54

1

原來我試圖在將對象添加到場景之後立即讀取值,但是在渲染器下一個渲染週期之前。我將上面的代碼添加到了我的輸入框架偵聽器,並且所有後續跟蹤都正常工作。

+0

酷!很高興你讓它工作。 – 2010-01-28 17:55:06