作为一个AS程序员,竟然长时间忘却了Funciton类的存在,真是惭愧,其实合理利用Function类很是我们的程序变的很简洁,思路更清楚!
- var moveBall:Function=function(){};
- stage.addEventListener(MouseEvent.MOUSE_UP,muE);
- stage.addEventListener(MouseEvent.MOUSE_MOVE,mdE);
- ball1_mc.addEventListener(MouseEvent.MOUSE_DOWN,b1E);
- ball2_mc.addEventListener(MouseEvent.MOUSE_DOWN,b2E);
- ball3_mc.addEventListener(MouseEvent.MOUSE_DOWN,b3E);
- function b1E(e:MouseEvent) {
- moveBall=moveBall1;
- }
- function b2E(e:MouseEvent) {
- moveBall=moveBall2;
- }
- function b3E(e:MouseEvent) {
- moveBall=moveBall3;
- }
- function muE(e:MouseEvent) {
- moveBall=function(){};
- }
- function mdE(e:MouseEvent) {
- moveBall();
- }
- function moveBall1() {
- //方法1
- }
- function moveBall2() {
- //方法2
- }
- function moveBall3() {
- //方法3
- }
这个是我网上看到的一个Flash小制作内的AS代码,是通过moveBall1,moveBall2,moveBall3来实现不同球的不拖动效果。
去除了逻辑部分,只展示框架。可以看出Function类让整个代码结构更清晰