体育节的时候,我跑步去了;艺术节的时候,我练琴去了;这回科技节,班主任派发了唯一一个指定人选的任务——欣欣你快去做个Flash动画参赛!
55不要啊,人家清明节好忙的啊!数理化作业几十页啊!flash随便耗掉一天8小时啊!!新课堂督导还要找我玩单词的啊!!!
在刷完历史77道非选题后,我意识到wanda vs掉过卖切糕的也一定能轻松bs掉我,没办法,只好把去年十一长假的存货拿出来晒晒省得长蘑菇——《时光轴》~ (我不会告诉你我做这个Flash的初衷的)
其实校科技节的这么个Flash比赛是个很水的东西。为什么,首先比赛的项目名称是“二维动画”,但是要求是上交fla、swf文件。一看就知道,要求其实把二维动画限制在了Flash动画这个范围内。那为什么不直接改成“Flash动画”比赛呢?这是第一点。继续往下,要求说明里,fla后面跟了个括号“源文件”,看来评委们是想看到组成动画的所有原始文件。但是把大量代码直接写在场景的时间轴上是一种很不明智的方式,它不仅会破坏程序结构,拖慢开发的速度,还会给有效代码的回收造成不便。所以我喜欢把代码从fla文件中抽离出来,写成单独的一个类文件。
转念一想这是好事啊,既然没让我交as代码,我就不交呗。那时我还没养成在AS中写注释的习惯,现在盯着一行行“new”啊“str”啊神马的连自己都快看不懂当初的思路了何况别人,一堆乱码不如不看。
接下来,开始动手改代码。 理论上,一根这样的时光轴可以记录人一生的记忆轨迹。那么只要把时间改成历史事件对应的年份,不就大功告成了么?
理论上。事实是我写到牛顿的时候,就出bug了。“距离XXX已过去XXX天”,那个天数是负的!静下心一想,我用的是Date类,而Date这种数据类型在定义的时候有年月日好几个参数,但实例化后就自动转化成1970年1月1日起所过的毫秒数,不仅不储存形式参数,在输入年份比1970小的时候相减会出错。 我还尝试扩展出一个继承data的子类,然后添加和重写父类,弥补date类的不足。
结果很绝望:date是final类(有的资料翻译作基类),无法被继承。再写个新的类代替date类?不可能啊,那样我的短假时间都要被“时光轴”给吃成负的了啊。
最后我对AS3妥协了:找1970年以后的科技事件。
终于……(图暂时被吃掉了T. T)
很充实 挺好的