forked from: Checkmate Vol.6 Sponser
forked from Checkmate Vol.6 Sponser (diff: 94)
ActionScript3 source code
/**
* Copyright h_sakurai ( http://wonderfl.net/user/h_sakurai )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/nUYO
*/
// forked from checkmate's Checkmate Vol.6 Sponser
package {
import flash.display.*;
import flash.events.*;
import org.libspark.betweenas3.*;
import org.libspark.betweenas3.tweens.ITween;
[SWF(backgroundColor=0x3399ff)]
public class Sponser extends Sprite {
private var robo:Robo;
public function Sponser() {
Robo.load();
addEventListener("enterFrame", update);
}
public function update(e:Event):void {
if(loadf) {
var robos:Array = [];
for( var i:int = 0; i<30; ++i ) {
robo = new Robo( 8, true, true );
robos.push(robo);
addChild(robo);
}
for (i=0;i<30;i++) {
var t:ITween = BetweenAS3.tween( robos[i],
{ x : -150, scaleX:-5, scaleY:5, y: 0 + i*20 },
{ x:465 , scaleX:-5, scaleY:5,y: 100 }, 3 );
t.stopOnComplete = false;
t.play();
}
loadf=false;
}
}
}
}
var loadf:Boolean = false;
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.geom.*;
import flash.system.*;
class Robo extends Sprite {
public static var imgSrc:String = "http://assets.dev.wonderfl.net/images/related_images/e/ea/ea8a/ea8a6b1d37c2cec12e07893c66f164a9da1e92c0";
private var _frame:Bitmap;
private var _currentFrame:int = 0;
private var _totalFrames:int = 0;
private var _frameRate:int = 8;
private var _autoPlay:Boolean = false;
private static var frames:Array = [];
public function Robo( frameRate:int = 8, autoPlay:Boolean = false, autoLoad:Boolean = false ){
_frameRate = frameRate;
_autoPlay = autoPlay;
_frame = new Bitmap();
addChild( _frame );
_totalFrames = frames.length;
update();
dispatchEvent( new Event("READY") );
if( _autoPlay ) play();
}
public static var bmp:BitmapData;
public static function load():void {
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener( Event.COMPLETE, function(e:Event):void{
var _frameRate:int = 8;
bmp = Bitmap( loader.content ).bitmapData;
const frameWidth:int = 20;
const frameHeight:int = 34;
var numFrames:int = bmp.width/frameWidth;
for( var i:int=0; i< numFrames; ++i ) {
for( var f:int=0; f<_frameRate; ++f ) {
var frame:BitmapData = new BitmapData( frameWidth, frameHeight, true, 0 );
var matrix:Matrix = new Matrix();
matrix.translate( -i*frameWidth, 0 );
frame.draw( bmp, matrix );
frames.push( frame );
}
}
loadf = true;
} );
loader.load( new URLRequest(imgSrc), new LoaderContext(true) );
}
private function update(e:Event=null):void {
_frame.bitmapData = frames[_currentFrame]
_currentFrame = (_currentFrame+1) % _totalFrames;
}
public function play():void {
if( isReady )
addEventListener( Event.ENTER_FRAME, update );
}
public function stop():void {
removeEventListener( Event.ENTER_FRAME, update );
}
public function get currentFrame():int { return _currentFrame+1; }
public function get totalFrames():int { return _totalFrames; }
public function get isReady():Boolean {
return frames && frames.length>0;
}
}