【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第21课-购买烟花插件

本文主要是介绍【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第21课-购买烟花插件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第21课-购买烟花插件

使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引擎(内嵌了three.js编辑器的定制版-支持以第一视角游览3D场馆),可以在浏览器和node.js、deno、electron上运行,它是一个跨平台的软件,支持多个操作系统使用!

下面分为几步介绍,如何基于dtns.network智体世界引擎如何实现乔布斯3D纪念馆的碟状总部的展览馆摆件的摆件点击购买烟花插件并燃放烟花。烟花插件在3D纪念馆中可以免费使用或付费购买插件后使用(本节教程主要是讲解如何为烟花插件设置文件锁、并通过头榜购买烟花插件),最终可以形成插件商店和插件开发者生态。

该《烟花插件》采用开源的js-canvas绘制燃放烟花的特效。通过dtns.plugin(基于vue2版本构建《烟花插件》),通过npm build lib编译生成index.js,将index.js和index.json配置文件,压缩生成dpkg的类似小程序安装包的插件。

第一步:打开智体IB页面,输入cd进入我的文件夹

1.png

第二步:在“我的文件夹”中找到“烟花插件”

2.png

如果未创建“烟花插件”文件夹,点击右上角“新建”创建文件夹名为“烟花插件”

第三步:点击进入“烟花插件”文件夹

3.png

如未添加烟花插件firework-2.dpkg,请先点击右上角添加该烟花插件(在jobs3d智体节点中可找到firework*.dpkg烟共插件,下载它并上传)

第四步:点击右上角“编辑”,显示该文件夹的编辑状态(如下图所示)

4.png

点击后,编辑按钮显示为“退出编辑”,点击它可【退出编辑】(并显示为“编辑”按钮)

第五步:点击烟花插件的【加锁】操作,进入文件锁编辑页面

5.png

请复制上述的头榜权限ID:msg_xmsg*(复制它),以便在3D编辑器中使用poplang智体编程,跳转该头榜,并允许支付该头榜,以获得该烟花插件的使用权限(使用aes256加密,支付后会获得解密密钥)。

第六步:返回“烟花插件”文件夹,点击该插件【信息】按钮,复制烟花插件的文件ID

6.png

使用ctrl+c复制这个文件ID(形如obj_file*)

第七步:在头榜页面,找到《乔布斯3D纪念馆》xverse应用

7.png

第八步:点击xverse应用的右上角…,进入头榜内容编辑器

8.png

第九步:点击“编辑xverse轻应用源码”,进入3D编辑器

9.png

使用滚动球控制玩家视角,使得《乔布斯传》3D摆件正面着玩家。

第十步:点击顶部菜单“添加”,选择正方体

10.png

注:可以看到添加了的正方体出现在视野中心;点击顶部菜单“视图”,关闭玩家视角,方便进行画布的鼠标旋转、缩放操作。

第十一步:将正方体变身“购买烟花”3D摆件

11.png

注:通过左上角的“组件控制器”,选择位移操作,点击位移鼠标移动至《乔布斯传》3D摆件右侧。

通过3D组件的属性面板(右侧),选择缩放为x:1、y:5(后面修改为10)、z:5——如下图所示:

12.png

通过左上角的“组件控制器”的旋转功能,旋转这个3D组件与墙体平行(如下图所示)

13.png

修改纹理贴图为文字图片“购买烟花”(如下图所示)

14.png

此时,购买烟花的3D摆件已经成功设计出来了。

第十二步:在“购买烟花”3D摆件的属性页面最下方,找到“脚本”,选择【新建】,后点击在输入框右侧“编辑”按钮,进入poplang智体脚本编辑器

15.png

点击属性面板最下面的脚本-“编辑”,打开poplang智体脚本编辑器(如下图所示)

16.png

注:使用ib3.toast指令显示“购买头榜,以便燃放烟花”,并使用ib3.pay指令跳转刚才的烟花插件的文件锁里的头榜权限ID(形如msg_xmsg*的头榜ID)

第十三步:点击《乔布斯传》3D摆件,在属性面板最下面的脚本选择编辑

17.png

注:点击后会进入poplang智体脚本编辑器(注:每一个3D摆件均可创建1-多个poplang脚本或js脚本,js脚本须命名名称为*js方可识别为js脚本)

第十四步:通过ib3.file.go指令加载烟花插件,并通过$.g_firework_onload指令播放燃放烟花的动画效果

18.png

注:将刚才复制的烟花插件文件ID(形如obj_file*),使用ib3.file.go * noflag进行预加载,以便通过$.g_firework_onload实现烟花动画播放。

第十五步:点击顶部菜单“文件”推送头榜(作品)选项,将新的3D纪念馆推送头榜

19.png

第十六步:将头榜标题设置为“3D纪念馆-购买烟花插件”

20.png

注:点击右上角“确认”,发送头榜成功。

第十七步:返回头榜找到刚发布的“3D纪念馆-购买烟花插件”xverse轻应用

21.png

第十八步:点击xverse轻应用,进入3D轻应用游览器

22.png

注:通过滚动玩控制玩家视角,实现《乔布斯传》“购买烟花”这2个3D摆件,位于视野中间位置。

第十九步:点击“购买烟花”3D摆件,跳转购买头榜页面

23.png

点击右上角的“确认”,即支付并购买烟花插件。

第二十步:返回3D纪念馆,点击《乔布斯传》3D摆件,燃放烟花

24.png

注:我们看到,播放烟花的消息提示,并实现了烟花的燃放特效(如上图所示)

通过上述20步,我们成功完成了《乔布斯3D纪念馆》的飞碟形态的烟花插件的购买及烟花燃放的动画效果播放功能。通过dtns.plugin插件引擎,我们成功的构建了dpkg插件文件,从而直接通过头榜上传和头榜支付购买烟花插件.dpkg文件的方式,为dtns.connector德塔世界连接器融入了烟花插件功能(并实现了售卖)。再通过3D场馆的摆件点击播放烟花插件动画,完整实现了一个从vue插件构建,上传发布,文件锁售卖插件,在poplang智体编程场景中调用全局函数使用它的完整闭环。

整个体验非常完整。可以看到,使用dpkg和dtns.plugin插件系统,可轻松构建dtns.connector的轻应用插件生态。插件的开发、部署、上传、体验、销售、购买均非常方便。非常适合构建【插件商店】生态、插件开发者生态、插件开源生态等。

注:dtns.network德塔世界(开源的智体世界引擎)是在github和gitee上开源的项目!

开源地址:

github地址:https://github.com/dtnsman/dtns

Gitee地址:https://github.com/dtnsman/dtns

官方文档:https://dtns.network.yunapi.org

加入QQ群:279931001

加入微信群:

wechat-qr (2).png

这篇关于【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第21课-购买烟花插件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/990173

相关文章

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

css中的 vertical-align与line-height作用详解

《css中的vertical-align与line-height作用详解》:本文主要介绍了CSS中的`vertical-align`和`line-height`属性,包括它们的作用、适用元素、属性值、常见使用场景、常见问题及解决方案,详细内容请阅读本文,希望能对你有所帮助... 目录vertical-ali

浅析CSS 中z - index属性的作用及在什么情况下会失效

《浅析CSS中z-index属性的作用及在什么情况下会失效》z-index属性用于控制元素的堆叠顺序,值越大,元素越显示在上层,它需要元素具有定位属性(如relative、absolute、fi... 目录1. z-index 属性的作用2. z-index 失效的情况2.1 元素没有定位属性2.2 元素处

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Vue 调用摄像头扫描条码功能实现代码

《Vue调用摄像头扫描条码功能实现代码》本文介绍了如何使用Vue.js和jsQR库来实现调用摄像头并扫描条码的功能,通过安装依赖、获取摄像头视频流、解析条码等步骤,实现了从开始扫描到停止扫描的完整流... 目录实现步骤:代码实现1. 安装依赖2. vue 页面代码功能说明注意事项以下是一个基于 Vue.js

CSS @media print 使用详解

《CSS@mediaprint使用详解》:本文主要介绍了CSS中的打印媒体查询@mediaprint包括基本语法、常见使用场景和代码示例,如隐藏非必要元素、调整字体和颜色、处理链接的URL显示、分页控制、调整边距和背景等,还提供了测试方法和关键注意事项,并分享了进阶技巧,详细内容请阅读本文,希望能对你有所帮助...

WiFi6时代来临! 华三H3C NX54路由器还值得购买吗?

《WiFi6时代来临!华三H3CNX54路由器还值得购买吗?》WiFi6时代已经来临,众多路由器厂商也纷纷推出了兼容WiFi6协议的路由器,今天我们将深入体验H3CNX54路由器,这款由知名企业... 随着科技的发展,WiFi6逐渐走进了我们的日常生活之中,相比WiFi5来说,WiFi6拥有更高的带宽、更高

Nginx实现前端灰度发布

《Nginx实现前端灰度发布》灰度发布是一种重要的策略,它允许我们在不影响所有用户的情况下,逐步推出新功能或更新,通过灰度发布,我们可以测试新版本的稳定性和性能,下面就来介绍一下前端灰度发布的使用,感... 目录前言一、基于权重的流量分配二、基于 Cookie 的分流三、基于请求头的分流四、基于请求参数的分

基于Canvas的Html5多时区动态时钟实战代码

《基于Canvas的Html5多时区动态时钟实战代码》:本文主要介绍了如何使用Canvas在HTML5上实现一个多时区动态时钟的web展示,通过Canvas的API,可以绘制出6个不同城市的时钟,并且这些时钟可以动态转动,每个时钟上都会标注出对应的24小时制时间,详细内容请阅读本文,希望能对你有所帮助...

HTML5 data-*自定义数据属性的示例代码

《HTML5data-*自定义数据属性的示例代码》HTML5的自定义数据属性(data-*)提供了一种标准化的方法在HTML元素上存储额外信息,可以通过JavaScript访问、修改和在CSS中使用... 目录引言基本概念使用自定义数据属性1. 在 html 中定义2. 通过 JavaScript 访问3.