现在我正在为游戏开发一个面向小型画布的2D图形引擎,并且已经在寻找几个来源以提供适用于我的系统设计的提示.但显然,最经过验证的解决方案是flash,所以我想知道Flash架构是如何构建的.我找到了一些关于Flash工作原理的资料,但大多数都是非常基础的,面向设计师和艺术家,但我想更多地了解系统的内容.我的下一步是下载Flex的源代码并浏览它,但在此之前,我想有一个"指南",以充分利用我在代码库中的时间.有关良好的在线资源和文章的任何建议?
谢谢!
编辑:为了使它更清晰,我正在寻找Flash的内部工作原理,因为我的目标是制作类似于Flash的东西,但当然没有那么强大,它可以在没有插件的浏览器中运行.唉纯HTML + Javascript.
另外我不使用Flash的原因是因为它不符合我的要求(免费+没有插件),而且因为我的目标平台上没有Flash支持,除了我在这里重新发明轮子有趣和自我教育.哦,我已经知道如何使用Flash :)
嗯,Flash内容的根源是一个舞台对象(Stage类的一个实例).该阶段是显示对象树的根节点,其中任何一个都可以包含图形资源(行,文本字段等)或其他显示对象.Flash"工作"的方式是,每秒X次,Flash播放器将整个显示树绘制到屏幕上.播放器还从OS 收集用户输入(KeyboardEvents等)并将其传递给已注册的任何对象.
因此,您作为内容创建者的工作是使用子项(DisplayObject类型或任何子类)填充此Stage,Flash引擎将为您绘制到屏幕上.您可以使用Sprite,MovieClip和TextField等低级子项填充它,它们是Flash内容的基本构建块,或者您可以实例化ScrollBar或DataGrid,它们是具有通常复杂内部工作的高级组件.
当然,您可以扩展这些类中的任何一个以包含您自己的自定义视觉效果或类逻辑,或者创建不属于显示树的非可视类.您可以加载其他Flash内容,或进行HTTP连接等.
这就是假设你的意思是AS3.这有帮助吗?如果不是,你将不得不更具体地提出你的问题.;)