发布时间:2021/02/26 11:07:25
在上一章节,讲述了对Hype制作的H5页面内部运作原理分析——关于项目的HTML文件的分析,了解到在HTML文件里并没有场景对象,也没有在场景中添加的矩形对象,只有一个Hype文档对象中包住的外部JS脚本文件。
接下来在本章节,将详细讲述对这个外部JS脚本文件的分析。本章由于涉及到JavaScript语言,对没有接触过JavaScript语言的小伙伴可能会有点困难。小编在讲解的时候尽量不涉及到语言语句,也不涉及到程序运行的逻辑,只介绍这段程序的运行结果。
在导出项目时创建的文件夹内找到这个“原理分析_hype_generated_script.js”的主脚本文件。打开文件,发现是一个被压缩过的JS脚本文件,需要把它转换为正常显示模式才能阅读分析(在Visual Studio Code软件使用shift + option + F 快捷键)。
一、自执行函数程序
JS脚本文件里的程序代码非常长,如果把中间内容收起来,发现这个程序的结构是这样的:一个自执行匿名函数包住一个函数名为m的自执行函数。
(function () {(function m () {…}) ()}) ()
所谓自执行函数,意思是当Hype文档对象调用这个JS脚本文件的时候,脚本文件里的函数会马上执行,运行花括号里面的程序代码。
二、JS脚本程序实现的几个功能
1、添加函数库脚本文件链接
在把Hype项目导出为HTML文档的时候,除了生成原理分析.html和原理分析_hype_generated-script.js主脚本文件外,还有HYPE-664-full.min.js和HYPE-664-thin.min.js两个脚本文件。
这两个脚本文件也是自执行匿名函数,其作用是建立JS关键字对应变量和CSS样式对应变量,实现在HTML文件中对象语句的编写。因此需要在HTML文件头部head里添加script链接。在本案例中,添加的是HYPE-664-thin.min.js函数库文件。
2、去除中文字符
在上一章分析HTML文件的时候,发现Hype文档对象div元素的id使用了中文“原理分析”。另外,文档对象里面的script元素的src地址出现了乱码,这也是中文字符。主脚本程序通过检索和对比把中文字符改为“index”。
3、创建场景对象和矩形对象并为其添加行内样式
完成了前面的设置后,在主脚本程序开始创建Hype文档对象里面的对象——包括场景对象和场景对象里面的矩形元素对象。可以看到在一些数组变量,包含了Hype软件中给矩形对象设置的样式值。
显然,在Hype场景中添加的元素,以及通过属性面板的选项给元素添加的样式值,都赋值给了一些变量。当浏览器加载HTML文件时,这些变量被主脚本程序获取,并在执行主脚本程序时,在HTML文件中生成HTML语言代码,最后在浏览器窗口显示出来。
三、小结
Hype软件中给场景添加的元素及其样式等,都是通过内部的JavaScript程序运作写到HTML文件中,然后在浏览器窗口呈现出来的。这个JavaScript程序是Hype软件的运作核心,有兴趣的小伙伴可以去研究一下它的源代码。
作者:东佛
读者也喜欢这些内容:
Hype 4时间线操作(十一) 继续时间线之倒序播放
在Hype 4交互动效制作软件中,时间线操作中的继续时间线除了继续被暂停的时间线外,还可以重新启动时间线和倒序播放。这两项操作有点像“开始时间线”操作,但实际上有本质上的区别。...
阅读全文 >
Hype 4时间线操作(十二) 继续时间线之可以重新启动时间线
在小编刚刚开始学习Hype 4交互动效制作软件时,对这个继续时间线的可以重新启动时间线感到非常困惑。它应该是在运动时间段上设置触发关键帧,当关键帧被触发时重新启动时间线,让运动重新开始,但这样的设置并没有效果。...
阅读全文 >
Hype 4时间线操作(九)自定义时间线循环往复运动
本章节是上一章节“开始时间线”的延续篇,由于在主时间线上设置触发关键实现自定义时间线的循环往复运动相对比较复杂,涉及到的分析比较多,知识点非常重要,因此单独用一章节来讲述自定义时间线的循环往复运动。...
阅读全文 >
Hype 4时间线操作(四) —JavaScript函数基础
Hype 4交互动效制作软件中的JavaScript函数通常是为响应用户事件而运行的。例如可以通过JavaScript函数使运动中的物体改变属性,可以限定对象的运动范围或者触发某个事件等等。...
阅读全文 >