博客
关于我
关于相同场景控制总结
阅读量: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/

    你可能感兴趣的文章
    PID控制器数字化
    查看>>
    Qwen-VL项目使用指南
    查看>>
    PIESDKDoNet二次开发配置注意事项
    查看>>
    PIGS POJ 1149 网络流
    查看>>
    PIL Image对图像进行点乘,加上常数(等像素操作)
    查看>>
    PIL Image转Pytorch Tensor
    查看>>
    PIL&QOOT;IOERROR:带有大图像的图像文件被截断(&Q)
    查看>>
    PIL.Image、cv2的img、bytes相互转换
    查看>>
    PIL.Image进行图像融合显示(Image.blend)
    查看>>
    pilicat-dfs 霹雳猫-分布式文件系统
    查看>>
    Pillow lacks the JPEG 2000 plugin
    查看>>
    SpringBoot之ElasticsearchRestTemplate常用示例
    查看>>
    ping 全网段CMD命令
    查看>>
    ping 命令的七种用法,看完瞬间成大神
    查看>>
    Pinia入门(快速上手)
    查看>>
    Pinia:$patch的使用场景
    查看>>
    Pinia:$subscribe()的使用场景
    查看>>
    Pinpoint对Kubernetes关键业务模块进行全链路监控
    查看>>
    Pinterest 大规模缓存集群的架构剖析
    查看>>
    pintos project (2) Project 1 Thread -Mission 1 Code
    查看>>