2014-09-26 21 views
0

我正在使用Winforms應用程序。我們必須顯示和操作在某個地方的Cityengine服務器中創建和維護的3D對象,並通過互聯網(類似Google Map 3D)提供圖像。我們使用Awesomium來顯示3D圖像,因爲它是唯一能夠很好地處理WebGL的圖像。點擊網頁對象後回電

我希望我的客戶端能夠點擊某些3D對象,然後我希望我的桌面應用程序也響應點擊。換句話說,我需要Awesomium進行回調,以便在3D圖像中執行事件時立即通知應用程序。我怎樣才能做到這一點?

回答

1

您可以創建一個JavaScript綁定,允許您從JavaScript調用C#代碼。

喜歡的東西:

JSObject interfaceBinding = webView.CreateGlobalJavascriptObject("bindingObject"); 
interfaceBinding.Bind("myFunction", false, myHandler); 

有了您的投手功能尋找simular到這樣的事情:

private void myHandler(object sender, JavascriptMethodEventArgs e) 
{ 
    //do whatever you want with e.Arguments containg the arguments from the js call 
} 

這將創建一個名爲「bindingObject」作爲全局JavaScript對象的對象,你可以叫它與

window.bindingObject.myFunction(yourParmeters,...); 

編輯:點擊事件當然在Jav處理aScript在Web視圖中,我只是假設你知道如何去做,如果沒有(並且沒有高級別的API):在Web上搜索'webGL picking'以瞭解不同的可能方法(例如顏色選擇,光線拾取等),可以在webGL中使用。