博客
关于我
关于相同场景控制总结
阅读量: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 trim() 函数
    查看>>
    php unicode编码转成unioce字符(中文)
    查看>>
    php url路径问题和php文件以绝对路径引入
    查看>>
    PHP WebSehll 后门脚本与检测工具
    查看>>
    ReentrantLock源码解析
    查看>>
    PHP XSS攻击防范--如何过滤用户输入
    查看>>
    php zookeeper实现分布式锁
    查看>>
    PHP 中 this,self,parent 的区别、用法
    查看>>
    PHP 中如何高效地处理大规模数据的排序?
    查看>>
    PHP 之ftp客户端类封装实现
    查看>>
    php 代码改进
    查看>>
    php 代码混淆
    查看>>
    PHP 使用 $_SERVER['PHP_SELF'] 获取当前页面地址及其安全性问题
    查看>>
    Redis系列之如何避免缓存击穿
    查看>>
    php 内存分析
    查看>>
    PHP 函数名前面加&
    查看>>
    redis报错
    查看>>
    php 删除包含某一字符的数组元素
    查看>>
    Redis学习总结(19)——Redis 5种集群方式对比
    查看>>
    php 反射
    查看>>