单击web对象后回调

本文关键字:回调 对象 web 单击 | 更新日期: 2023-09-27 18:24:37

我正在开发一个Winforms应用程序。我们必须显示和操作在某个地方的Cityengine服务器中创建和维护的3D对象,并且图像通过互联网提供(有点像谷歌地图3D)。我们使用Awesomium来显示3D图像,因为它是唯一一个似乎能很好地处理WebGL的图像。

我希望我的客户端能够点击一些3D对象,然后我希望我桌面应用程序也能响应点击。换句话说,我需要Awesomium有一个回调,这样当事件在3D图像中执行时,就会立即通知应用程序。我该怎么做?

单击web对象后回调

您可以创建一个JavaScript绑定,该绑定允许您从JavaScript调用C#代码。

类似于:

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

你的手功能看起来像这样的模拟物:

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,...);

编辑:点击事件当然是在web视图中用JavaScript处理的,我只是假设你知道如何做到这一点,如果不知道的话(而且没有高级api):在web上搜索"webGL picking",了解可以在webGL中使用的不同可能方法(例如颜色拾取、光线拾取等)。