我试图解释编写时间线代码与文档类代码之间的差异,到目前为止我已经:
Timeline code:
- doesn't require a package and class declaration
Document Class code:
- requires a package and class declaration
Timeline code:
- starts working on the top-most line
Document Class Code:
- starts working from the constructor function
Timeline code:
- loops, conditionals and event listeners can be **outside** of a function
Document Class Code:
- loops, conditionals and event listeners must be **inside** a function
这些是否正确,还有什么能让那些正在过渡的人绊倒吗?
答案 0 :(得分:2)
时间线代码是旧的,不推荐使用,因为它不是结构化的代码方式。仍然,
时间轴代码: - 你无法为函数或变量定义访问控制修饰符,默认情况下,一切都是公开的(据我所知)
文档类代码: - 您可以定义访问控制修饰符
时间轴代码: - 代码在每次控制进入该帧时运行
文档类代码: - 文档类仅初始化一次
时间轴代码: - 变量的生命周期仅在控制在该帧中时
文档类代码: - 成员变量在申请结束前保持活跃状态。
修改
时间轴代码: - 与在文档类中的ENTER_FRAME事件中编写的代码相同。
文档类代码: - 可以使用ENTER_FRAME事件实现帧代码的功能。
答案 1 :(得分:1)
在类文件中编写代码时,您正在教授的人可能会想要编写如下代码:
gotoAndStop(2);
movieclipOnFrame2_mc.stop(); // <-- uh oh...
这当然会使它们绊倒,因为他们期望在调用gotoAndStop(2)之后,第2帧上存在的资产将立即可用,特别是如果它们来自AS2背景。他们需要学习处理这种古怪行为的方法。