博客
关于我
关于相同场景控制总结
阅读量:431 次
发布时间:2019-03-06

本文共 537 字,大约阅读时间需要 1 分钟。

在开发过程中遇到两个3D场景相同场景结合的问题,以下是我对解决思路的总结。

一、前期准备我们创建了两个3D场景,分别使用new ht.graph3d.Graph3dView()创建了两个view,并进行了反序列化。由于两个场景大小和位置不同,我们为小场景设置了className,便于后续样式操作。

二、问题抛出

  • 小场景中如何隐藏某些节点?
  • 小场景中的某些动画是否可以不执行,以避免性能浪费?
  • 两个场景的动画如何互不影响?
  • 两个场景如何通讯?
  • 三、代码实现

  • 判断场景类型在初始化时,我们发现两个场景返回的div结构不同,通过判断gv.getView().className是否为'smallG3d'来区分大场景和小场景。

  • 节省性能通过检查isSmallG3d变量,我们可以决定是否需要执行小场景的动画,从而优化性能。

  • 动画互不影响我们在data/index.js中引入了elevatorDownUp对象,分别通过status1和status2控制大场景和小场景的动画状态,避免全局状态冲突。

  • 通讯实现采用eventbus的发布订阅模式,发布事件后订阅者处理。订阅前需清除重复事件,确保高效通讯。

  • 通过以上方法,我们成功解决了相同场景结合的问题,确保各场景独立运行并优化性能。

    转载地址:http://epluz.baihongyu.com/

    你可能感兴趣的文章
    PHP中file_get_contents如何带上cookies
    查看>>
    PHP中header的作用
    查看>>
    PHP中implode()和explode()
    查看>>
    PHP中ob系列函数讲解(浏览器缓存技术)
    查看>>
    PHP中serialize和json序列化与反序列化的区别
    查看>>
    Redis事务处理
    查看>>
    php中传值与传引用的区别是什么
    查看>>
    php中使用ajax进行前后端json数据交互
    查看>>
    Redis事务和锁操作
    查看>>
    Redis事务中的watch机制-从实例入手学习
    查看>>
    PHP中如何得到数组的长度
    查看>>
    Redis 集群模式下一个 Master 挂掉后如何选举?
    查看>>
    php中引入文件几种方式的区别
    查看>>
    PHP中把stdClass Object转array的几个方法
    查看>>
    PHP中替换换行符
    查看>>
    PHP中有关正则表达式的函数集锦
    查看>>
    Redis 集群搭建详细指南
    查看>>
    php中的cookie用法
    查看>>
    php中的session用法
    查看>>
    php中级联,php实现三级级联下拉框_PHP
    查看>>