Swf渲染之——引言

Swf是什么?

不说人话版

Swf(Shockwave Flash)是一种由Adobe开发的多媒体文件格式,主要用于在网页上播放动画、视频和交互式内容。它最初是为Flash Player设计的,但随着技术的发展,Swf文件也被广泛应用于游戏开发和其他多媒体应用中。Swf文件由多个部分组成,包括头信息、资源表、帧数据和脚本等,这些部分共同构成了Swf文件的完整结构。

说人话版

Swf是一种多媒体格式,主要用于存储动画,但也能存储脚本等内容构成一个程序。内部“元件”往往使用矢量位图来表示,矢量图可以进行缩放而不失真,而位图的显示效果则更加稳定。Swf文件里面全部由tags组成,适合在网络上流式传输。

为什么过时了?

Swf在2009年被Adobe宣布不再支持,主要原因是Flash Player的更新和HTML5的兴起。HTML5提供了更强大的多媒体支持,包括WebGL和Canvas,这些技术使得Swf在现代游戏开发中不再具有竞争力。此外,Flash Player的安全问题和性能问题也导致了它的逐渐淘汰。

为什么现在我们还讨论它

现在的游戏引擎对于角色动画的存储依然以以位图为主,面对长动画,必须使用位图来记录每一帧的信息,位图存储方式已经无法满足需求,所以需要一种新的存储方式。而swf就是一种适合存储长动画的格式,它内部的动画存储方式是矢量图,具备了体积小和精度高的特点。所以,我们仍然需要讨论它,因为它在现代游戏开发中仍然具有一定的价值。

举个例子:我在创作一个角色的动画的时候——

我作为Godot-Swf的作者,在此呼吁——我们是时候重新审视这门老技术了

本专栏的目标

本专栏聚焦于swf内部的动画如何在现代游戏引擎中进行渲染,包括如何解析swf文件、如何处理矢量图和位图、如何进行动画的播放和渲染等。

希望通过本专栏,读者能理解swf的内部结构,掌握如何在现代游戏引擎中进行渲染,甚至在自己喜爱的引擎中加入健壮的Swf渲染功能。

阅读本专栏需要的资源有


本专栏的目录

  1. Swf渲染之——引言
  2. 持续更新ing。。。

参考文档: