网页跳转

11 April 2016 07:37
现在的Blender中点击物体当前页面跳转新网页,请问下,是否能我点击物体是新建一个页面,然后显示新的页面内容,原本的页面不关闭
11 April 2016 17:00
嗨,欢迎来到 Blend4Web 论坛!

现在的Blender中点击物体当前页面跳转新网页,请问下,是否能我点击物体是新建一个页面,然后显示新的页面内容,原本的页面不关闭

在 Blend4Web 中,当用户点击一个 3D 对象,可以导航到另一个网页。

您可以用两种不同的方法来完成︰

方法 # 1。
使用组合的 Switch Select(开关选择)和 Page Redirect(页面复位向)节点逻辑编辑器。
可在 SDK 中找到示例的文件︰
blender/interactivity/logic_editor_page_redirect.blend

这种方法简单,但有局限︰新的一页会在同一浏览器选项标签中打开。
原因在于浏览器的安全策略︰只有用户点击一些 HTML 的元素后,才可以打开一个新的选项标签 (或窗口)。
我们执行的方式,是利用可以在任何时间打开的 JavaScript 函数功能来开启网页,不仅仅是在用户点击<canvas>时。

方法 # 2。
使用 Blend4Web API 挑选对象和标准浏览器 API 来打开新窗口。

canvas_elem.addEventListener("mouseup", canvas_clicked, false);

function canvas_clicked(event) {
    var x = m_mouse.get_coords_x(event);
    var y = m_mouse.get_coords_y(event);
    var obj = m_scenes.pick_object(x, y);
    if (obj) {
        switch(m_scenes.get_object_name(obj)) {
        case "Cube":
            window.open("https://www.blend4web.com/");
            break;
        case "Suzanne":
            window.open("https://www.blender.org/");
            break;
        default:
            console.log("Some other selectable object clicked");
        }
    }
}


我在这篇文章附上专案档。您可以用Project Manager(项目经理)将其导入,并就地运行。
因为重定向是用户操作所导致,这方法将允许您打开新的浏览器选项标签,而没有问题。

project.zip

希望这有帮助!
开发主管 | 新浪微博
12 April 2016 06:38
才微易向风尘老,身贱难酬知己恩
12 April 2016 08:48
万分感谢,我刚才发你文言文想考考你中文,现在我已经实现了功能,谢谢
12 April 2016 08:58
12 April 2016 14:53
其实我的中文几乎为零。几个 Blender 社区里讲中文的家伙,帮我们翻译网站和在论坛上回答问题。
我相当高兴我的回答能帮助到您的项目。
开发主管 | 新浪微博
13 April 2016 14:25
您好 ,我做完的项目后,webgl都已经打开,使用IE11和谷歌打开项目后出现黑屏没有显示图像 ,只有FireFox打开没有问题。
想请问下你是否有浏览器兼容方面的经验。谢谢
13 April 2016 14:42
我打开的文件是本地文件 。
13 April 2016 15:11
我自己试过了,打开本地的文件,需要调用WEB的服务器来开打本地文件就能正确加载了。
谢谢。
13 April 2016 21:31
我很高兴您终于想出如何处理这个问题!

事实上,如果您尝试在本地启动 Blend4Web 应用程序 (不是从远程 web 服务器),由于浏览器的限制它不会运行。
请参阅 的同源策略。加载和查看导出的 .json 文件,我们推荐使用 Project Manager
使用项目经理 您还可以创建生产就绪 的应用程序,而无需手动复制文件。
开发主管 | 新浪微博
 
注册登录 后发送信息。