1 package antCodes 2 { 3 import flash.display.Sprite; 4 import flash.utils.getDefinitionByName; 5 6 public class SampleCloud extends Sprite 7 { 8 //笔者习惯以双下划线开头的属性表示与库中元件相关 9 private var __CloudA:Class; 10 private var __CloudB:Class; 11 private var __Sky:Class; 12 public function SampleCloud() { 13 initView(); 14 var sky:Sprite = new __Sky(); 15 //三朵云彩,使用基类CloudMovieClip做为类型 16 var cloudABig :CloudMovieClip = new __CloudA(); 17 var cloudASmall :CloudMovieClip = new __CloudA(); 18 var cloudB :CloudMovieClip = new __CloudB(); 19 //分别调整三朵云彩的位置、大小和速度 20 cloudABig.speed = 1.5; 21 cloudABig.x = 300; 22 23 cloudASmall.speed = 1; 24 cloudASmall.scaleX = 0.5; 25 cloudASmall.scaleY = 0.5; 26 cloudASmall.x = 200; 27 cloudASmall.y = 125; 28 cloudASmall.alpha = 0.5; 29 30 cloudB.y = 150; 31 cloudB.x = 500; 32 cloudB.speed = 0.5; 33 //加入显示列表 34 addChild(sky); 35 addChild(cloudB); 36 addChild(cloudABig); 37 addChild(cloudASmall); 38 } 39 private function initView():void { 40 __CloudA = getDefinitionByName("CloudA") as Class; 41 __CloudB = getDefinitionByName("CloudB") as Class; 42 __Sky = getDefinitionByName("SkySprite") as Class; 43 } 44 45 } 46 }
1 package antCodes 2 { 3 import flash.display.MovieClip; 4 import flash.events.Event; 5 public class CloudMovieClip extends MovieClip 6 { 7 private var _speed:Number = 1; 8 //speed是云彩移动的速度 9 public function CloudMovieClip(){ 10 super(); 11 //添加动画效果 12 addEventListener(Event.ENTER_FRAME, move); 13 } 14 public function set speed(nS:Number):void { 15 _speed = nS; 16 } 17 //每帧的云彩移动 18 private function move(evt:Event):void { 19 this.x -= _speed; 20 } 21 } 22 }