forked from: Progression 4 BasicAppConfig
動いた
クリックでシーンチェンジ
クリック連打にも対応
/**
* Copyright northprint ( http://wonderfl.net/user/northprint )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/8mwP
*/
// forked from nium's Progression 4 BasicAppConfig
//動いた
//クリックでシーンチェンジ
//クリック連打にも対応
package {
import flash.display.*;
import jp.progression.config.*;
import jp.progression.debug.*;
import jp.progression.*;
public class Index extends Sprite {
public var manager:Progression;
public function Index() {
Progression.initialize( new BasicAppConfig() );
manager = new Progression( "index", stage, IndexScene );
//Debugger.addTarget( manager );
manager.goto( manager.root.sceneId );
}
}
}
import flash.net.*;
import flash.system.*;
import jp.progression.casts.*;
import jp.progression.commands.display.*;
import jp.progression.commands.lists.*;
import jp.progression.commands.net.*;
import jp.progression.commands.tweens.*;
import jp.progression.commands.managers.Goto;
import jp.progression.commands.*;
import jp.progression.data.*;
import jp.progression.events.*;
import jp.progression.scenes.*;
import jp.progression.executors.ExecutorObjectState;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.events.MouseEvent;
class IndexScene extends SceneObject {
public function IndexScene() {
}
protected override function atSceneLoad():void {
manager.root.stage.addEventListener(MouseEvent.CLICK, clickHandler);
addCommand(
new LoaderList(null,
new LoadBitmapData(new URLRequest("http://assets.wonderfl.net/images/related_images/3/3e/3e3e/3e3e81e2e3ebefcc115e41ee5b95c2bb171e8019"), {context:new LoaderContext(true), group:"imageset"} ),
new LoadBitmapData(new URLRequest("http://assets.wonderfl.net/images/related_images/6/62/6266/6266679ebb9179e0f434ccceed4cf0857bb7f8c9"), {context:new LoaderContext(true), group:"imageset"} )
),
function():void {
var count:int = int (getResourcesByGroup( "imageset" ).length);
for (var i:int = 0; i < count; i++) {
var imageScene:ImageScene = new ImageScene("image" + i);
imageScene.title = "image" + String(i + 1);
imageScene.bitmapdata = getResourcesByGroup( "imageset" )[i].toBitmapData();
addScene(imageScene);
}
}
);
}
protected override function atSceneInit():void {
addCommand(
new Goto(getSceneAt(0).sceneId)
);
}
private function clickHandler(e:MouseEvent):void {
//nium先生のforkを参照し、修正。ありがとうございます
//http://wonderfl.net/code/dd0c34e42c13ed26f2252a69809c79e47709980a
/*
if (manager.current.executor.state == ExecutorObjectState.EXECUTING) {
manager.current.executor.interrupt();
}
*/
if (manager.state > ExecutorObjectState.IDLING) {
manager.stop();
}
if (manager.current.next) {
manager.goto(manager.current.next.sceneId);
} else {
manager.goto(manager.root.scenes[0].sceneId);
}
}
}
class ImageScene extends SceneObject {
private var _bitmap:Bitmap;
private var _bitmapdata:BitmapData;
public function ImageScene(name:String = null, initObject:Object = null) {
super( name, initObject );
}
protected override function atSceneInit():void {
_bitmap = new Bitmap();
if (_bitmapdata) {
_bitmap.bitmapData = _bitmapdata;
_bitmap.alpha = 0;
addCommand(
new AddChild(container, _bitmap),
new DoTweener(_bitmap, { alpha:1, time:1 } )
);
}
}
protected override function atSceneGoto():void {
if (_bitmapdata) {
addCommand(
new RemoveChild(container, _bitmap)
);
}
}
public function set bitmapdata(value:BitmapData):void {
_bitmapdata = value;
}
}