今回は、カヤックさんとのコラボ企画でしたので、楽しみにしておりました。
できれば、もう少し期間が長いとよかったのでは、と感じる次第です。
先日「FITC TOKYO 2009」に参加し、Flashで活躍できるステージはたくさんあると感じました。
マスメディアンでも、様々なセミナーを開いていきたいと思いますので、今後とも、マスメディアンをよろしくお願いいたします。
This time, collaboration with KAYAC Inc. is what I'm looking forward to. I wished the opening period should be a little longer. The other day, we participated "FITC TOKYO 2009" and realized we can do more with Flash. We are planning to held various seminor, so please feel free to join us.
-

- 該当者なし Not corresponding
-

- 該当者なし Not corresponding
-

- k3lab, _ueueueueue
ブレーン年間購読
"BRAIN" one year subscription
k3lab
- // forked from checkmate's Checkmate vol.5 Sponser
- /**
- * 長押しでwancoをいっぱいしちゃいます。
- *
- *
- * -参考-
- *
- * sample 7
- * http://wonderfl.net/code/34efee1f82818e7f1022705a17f6ae19296bb7d4
- *
- */
- package
- {
- import flash.display.Loader;
- import flash.display.MovieClip;
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.events.MouseEvent;
- import flash.net.URLRequest;
- import flash.display.StageScaleMode;
- import flash.display.StageAlign;
- import flash.system.ApplicationDomain;
- import jp.progression.commands.*;
- import jp.progression.commands.lists.*;
- import jp.progression.commands.display.*;
- import jp.progression.commands.net.*;
- import jp.progression.commands.tweens.*;
- import jp.progression.events.*;
- import jp.progression.data.*;
- import caurina.transitions.Tweener;
- import caurina.transitions.properties.DisplayShortcuts;
- import caurina.transitions.properties.CurveModifiers;
- import org.libspark.betweenas3.BetweenAS3;
- import org.libspark.betweenas3.easing.*;
- import org.libspark.betweenas3.tweens.ITween;
- public class Main extends Sprite
- {
- public static var GRAPHICS_URL:String = "http://swf.wonderfl.net/static/assets/checkmate05/humanSponser.swf";
- public static var GRAPHICS2_URL:String = "http://swf.wonderfl.net/static/assets/checkmate05/wancoAmateur.swf";
- public var birthMotion:MovieClip
- public var stayMotion:MovieClip;
- public var jumpMotion:MovieClip;
- public var highJumpMotion:MovieClip;
- public var walkMotion:MovieClip;
- public var runMotion:MovieClip;
- public var squatMotion:MovieClip;
- public var questionMotion:MovieClip;
- public var exclamationMotion:MovieClip;
- public var heartMotion:MovieClip;
- public var poutMotion:MovieClip;
- public var starMotion:MovieClip;
- public var singMotion:MovieClip;
- public var sleepMotion:MovieClip;
- public var wakeMotion:MovieClip;
- private var isDownFlg:Boolean;
- private var isDownFlg2:Boolean;
- private var motionList:Array;
- private var cnt:int;
- private var _arrow:Sprite;
- public function Main():void
- {
- DisplayShortcuts.init();
- CurveModifiers.init();
- if (stage) init();
- else addEventListener(Event.ADDED_TO_STAGE, init);
- }
- private function init(e:Event = null):void
- {
- removeEventListener(Event.ADDED_TO_STAGE, init);
- stage.scaleMode = StageScaleMode.NO_SCALE;
- stage.align = StageAlign.TOP_LEFT;
- var com:SerialList = new SerialList( null,
- new LoaderList( null,
- new LoadSWF( new URLRequest( GRAPHICS_URL ) ),
- new LoadSWF( new URLRequest( GRAPHICS2_URL ) )
- ),
- function():void {
- var loader:Loader = Loader(getResourceById(GRAPHICS_URL).data);
- var domain:ApplicationDomain = loader.contentLoaderInfo.applicationDomain;
- birthMotion = new ( domain.getDefinition( "BirthMotion" ) as Class )
- var loader2:Loader = Loader( getResourceById(GRAPHICS2_URL).data );
- var domain2:ApplicationDomain = loader2.contentLoaderInfo.applicationDomain;
- stayMotion = new ( domain2.getDefinition( "StayMotion" ) as Class );
- jumpMotion = new ( domain2.getDefinition( "JumpMotion" ) as Class );
- highJumpMotion = new ( domain2.getDefinition( "HighJumpMotion" ) as Class );
- walkMotion = new ( domain2.getDefinition( "WalkMotion" ) as Class );
- runMotion = new ( domain2.getDefinition( "RunMotion" ) as Class );
- squatMotion = new ( domain2.getDefinition( "SquatMotion" ) as Class );
- questionMotion = new ( domain2.getDefinition( "QuestionMotion" ) as Class );
- exclamationMotion = new ( domain2.getDefinition( "ExclamationMotion" ) as Class );
- heartMotion = new ( domain2.getDefinition( "HeartMotion" ) as Class );
- poutMotion = new ( domain2.getDefinition( "PoutMotion" ) as Class );
- starMotion = new ( domain2.getDefinition( "StarMotion" ) as Class );
- singMotion = new ( domain2.getDefinition( "SingMotion" ) as Class );
- sleepMotion = new ( domain2.getDefinition( "SleepMotion" ) as Class );
- }
- );
- com.addEventListener(ExecuteEvent.EXECUTE_COMPLETE,onLoadSWF);
- com.execute();
- }
- private function onLoadSWF(e:Event):void {
- var s:ITween = BetweenAS3.tween(this, { scaleX:2.5, scaleY:2.5 }, null, 3.5, Linear.easeNone)
- var base:ITween = BetweenAS3.serial(s, BetweenAS3.reverse(s));
- base.stopOnComplete = false;
- base.play();
- _arrow = addChild(new Arrow(103, 120)) as Sprite;
- _arrow.rotation = 110;
- var t:ITween = BetweenAS3.tween(_arrow, { x:98, y:129 }, null, 0.4,Exponential.easeInOut);
- t.stopOnComplete = false;
- t.play();
- addChild(birthMotion);
- birthMotion.x = 90;
- birthMotion.y = 150;
- birthMotion.gotoAndStop(1);
- birthMotion.addEventListener( MouseEvent.MOUSE_DOWN, down );
- birthMotion.buttonMode = birthMotion.useHandCursor = true;
- birthMotion.scaleX = birthMotion.scaleY = 0.5;
- motionList = [stayMotion, jumpMotion, highJumpMotion, walkMotion, runMotion, squatMotion, questionMotion, exclamationMotion, heartMotion, poutMotion, starMotion, singMotion, sleepMotion ];
- stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
- stage.addEventListener( MouseEvent.MOUSE_UP, up );
- }
- private function enterFrameHandler(evt:Event):void {
- if (!isDownFlg2) return;
- cnt++;
- var wancoClass:Class = motionList[cnt%motionList.length].constructor;
- var copyWanco:* = new wancoClass();
- copyWanco.gotoAndStop(1)
- copyWanco.x = 90;
- copyWanco.y = 65;
- copyWanco.scaleX = copyWanco.scaleY = 0;
- addChild(copyWanco);
- var endX:Number = Math.random() * stage.stageWidth + stage.stageWidth / 2;
- var ctlX:Number = mouseX + (endX - mouseX) / 2;
- Tweener.addTween(copyWanco, {
- x: endX,
- y: stage.stageHeight + 50,
- _bezier: [ { x: ctlX, y: 0 } ],
- _scale:1,
- time: 1,
- delay:0.2,
- transition: "linear",
- onComplete: onTweenComplete,
- onCompleteParams: [copyWanco]
- });
- setChildIndex(birthMotion, numChildren - 1);
- }
- private function onTweenComplete(c:*):void
- {
- removeChild(c);
- }
- private function down(e:MouseEvent):void {
- isDownFlg = true;
- isDownFlg2 = true;
- _arrow.visible = false;
- var motion:MovieClip = e.target as MovieClip;
- birthMotion.y = 150;
- Tweener.addTween(motion, { _frame:32, time:0.5,transition:"linear",onComplete:loop,onCompleteParams:[motion] } );
- }
- private function loop(mc:MovieClip):void {
- Tweener.addTween(mc, { _frame:21, time:0.3,transition:"linear",onComplete:loop2,onCompleteParams:[mc] } );
- }
- private function loop2(mc:MovieClip):void {
- Tweener.addTween(mc, { _frame:32, time:0.3,transition:"linear",onComplete:loop,onCompleteParams:[mc] } );
- }
- private function up(e:Event):void {
- isDownFlg2 = false;
- if (!isDownFlg) return;
- if (birthMotion.currentFrame > 20) {
- Tweener.addTween(birthMotion, { x:130, _frame:55, time:0.8, transition:"linear", onComplete:destroy } );
- }else {
- Tweener.addTween(birthMotion, { x:130, _frame:55, time:1.4, transition:"linear", onComplete:destroy } );
- }
- function destroy():void {
- birthMotion.gotoAndStop(1);
- birthMotion.x = 90;
- isDownFlg = false;
- _arrow.visible = true;
- }
- }
- }
- }
- import flash.display.*;
- class Arrow extends Sprite {
- function Arrow( x:Number, y:Number) {
- this.x = x;
- this.y = y;
- graphics.beginFill(0xFFFFFF, 1);
- graphics.lineStyle(1, 0x0);
- graphics.moveTo(2, 4);
- graphics.lineTo(8, 4);
- graphics.lineTo(8, 0);
- graphics.lineTo(20, 7);
- graphics.lineTo(8, 14);
- graphics.lineTo(8, 10);
- graphics.lineTo(2, 10);
- graphics.lineTo(2, 4);
- }
- }
- 出題者からのコメント
- ひとつひとつの動きにストーリーがうまれてきそうな感じで、これからの展開がたのしみです。
- Comments from Sponsor
- Every action would bring up the story. I'm looking forward to seeing further development after that.
_ueueueueue
- // forked from checkmate's Checkmate vol.5 Sponser
- //コードがひどいのは気にしないです
- //タイトル画面等入れる前に力尽きました
- package {
- import flash.display.*;
- import flash.events.*;
- import flash.media.Sound;
- import flash.text.*;
- import flash.utils.*;
- import flash.net.*;
- import flash.system.*;
- import jp.progression.commands.*;
- import jp.progression.commands.lists.*;
- import jp.progression.commands.display.*;
- import jp.progression.commands.net.*;
- import jp.progression.commands.tweens.*;
- import jp.progression.events.*;
- import org.si.sion.*;
- import org.si.sion.events.*;
- import caurina.transitions.*;
- [SWF(backgroundColor=0x0)]
- public class Sponser extends Sprite {
- public static var GRAPHICS_URL:String = "http://swf.wonderfl.net/static/assets/checkmate05/humanSponser.swf";
- private var flyJumpMotion:MovieClip;
- private var gameStage:GameStage = new GameStage();
- private var d:SiONDriver = new SiONDriver();
- private var openingMelody:SiONData;
- private var endMelody:SiONData;
- private var startFrame:int = 11;
- private var finalFrame:int = 32;
- public function Sponser() {
- stage.scaleMode = StageScaleMode.NO_SCALE;
- stage.align = StageAlign.TOP_LEFT;
- this.addChild(gameStage);
- var mml1:String = "t60;v4[r1e16^32>b32<e32r32a16&a8&a32 d16a16b16<f8&f32&f16>e32d32b16^32e32b16^32<e32r32e8&e8]1;v2[r1>e16^32>b32<e32r32a16&a8&a32 d16a16b16<f8&f32&f16>e32d32b16^32e32b16^32<e32r32e8&e8]1;";
- var mml2:String = "t180;v4[r8d8&d8>a16r32<d16r8g8&g4&g8d8>a8<d8d2]1;v2[r8>d8&d8>a16r32<d16r8g8&g4&g8d8>a8<d8d2]1;";
- openingMelody = d.compile(mml1);
- endMelody = d.compile(mml2);
- opening();
- var com:SerialList = new SerialList();
- com.addCommand(
- new LoadSWF( new URLRequest( GRAPHICS_URL ) ),
- function():void {
- var loader:Loader = Loader( this.latestData );
- var domain:ApplicationDomain = loader.contentLoaderInfo.applicationDomain;
- flyJumpMotion = new ( domain.getDefinition( "FlyMotion" ) as Class );
- }
- );
- com.addEventListener(ExecuteEvent.EXECUTE_COMPLETE,onLoadSWF);
- com.execute();
- }
- private function onLoadSWF(e:Event):void {
- setMotion();
- }
- private function setMotion():void {
- flyJumpMotion.stop();
- flyJumpMotion.x = 50;
- flyJumpMotion.y = -200;
- flyJumpMotion.scaleX = -0.25;
- flyJumpMotion.scaleY = 0.25;
- flyJumpMotion.gotoAndStop(startFrame);
- addChild(flyJumpMotion);
- var m:Sprite = new Sprite();
- m.graphics.beginFill(0xffffff);
- m.graphics.drawRect(15, 45, 435, 365);
- addChild(m);
- flyJumpMotion.mask = m;
- flyJumpMotion.addEventListener(Event.ENTER_FRAME, motionPlay);
- }
- private function motionPlay(e:Event):void {
- flyJumpMotion.play();
- flyJumpMotion.y += 2.0;
- if (flyJumpMotion.y >= 545) {
- flyJumpMotion.removeEventListener(Event.ENTER_FRAME, motionPlay);
- removeChild(flyJumpMotion);
- gameOver();
- }
- if (flyJumpMotion.currentFrame == finalFrame) {
- flyJumpMotion.gotoAndPlay(startFrame);
- }
- }
- private function clickHandler(e:Event):void {
- var motion:MovieClip = e.currentTarget as MovieClip;
- motion.gotoAndPlay(1);
- }
- private function delayRemove():void {
- var t:Timer = new Timer(2700, 1);
- t.start();
- t.addEventListener(TimerEvent.TIMER, function(e:Event):void { removeChild(gameStage); addText() } );
- }
- private function addText():void {
- var fmt:TextFormat = new TextFormat();
- fmt.color = 0xffffff;
- var tf:TextField = new TextField();
- tf.defaultTextFormat = fmt;
- tf.x = (stage.stageWidth-tf.width) / 2;
- tf.y = stage.stageHeight / 2;
- tf.autoSize = TextFieldAutoSize.LEFT;
- tf.text = "THE END";
- this.addChild(tf);
- }
- private function opening():void {
- d.play(openingMelody);
- }
- private function gameOver():void {
- d.play(endMelody);
- delayRemove();
- }
- }
- }
- import flash.display.*;
- class GameStage extends Sprite {
- private var container:Sprite;
- private static const STAGE_WIDTH:int = 465;
- private static const STAGE_HEIGHT:int = 465;
- function GameStage() {
- container = new Sprite();
- addChild(container);
- drawBg();
- drawLocationGauge();
- drawIcon();
- drawSky();
- drawSea();
- drawGround();
- drawWall(0xffffff,2);
- drawWall(0x0,0);
- }
- private function drawBg():void {
- var bg:Shape = new Shape();
- bg.graphics.beginFill(0x0, 1.0);
- bg.graphics.drawRect(0, 0, STAGE_WIDTH, STAGE_HEIGHT);
- bg.graphics.beginFill(0x3CBAFA, 1.0);
- bg.graphics.drawRect(15, 45, STAGE_WIDTH - 30, STAGE_HEIGHT - 60);
- container.addChild(bg);
- }
- private function drawSky():void {
- var sky:Shape = new Shape();
- sky.graphics.beginFill(0xffffff);
- sky.graphics.drawRect(15, 45, 435, 17);
- sky.graphics.drawRect(15, 64, 435, 14);
- sky.graphics.drawRect(15, 81, 435, 11);
- sky.graphics.drawRect(15, 97, 435, 9);
- sky.graphics.drawRect(15, 112, 435, 7);
- sky.graphics.drawRect(15, 126, 435, 5);
- sky.graphics.drawRect(15, 139, 435, 3);
- sky.graphics.drawRect(15, 151, 435, 1);
- container.addChild(sky);
- }
- private function drawLocationGauge():void {
- var location:Shape = new Shape();
- location.graphics.lineStyle(0, 0xC53467);
- location.graphics.beginFill(0xffffff);
- location.graphics.drawRect(15, 10, STAGE_WIDTH - 30, 10);
- location.graphics.endFill();
- container.addChild(location);
- }
- private function drawIcon():void {
- var icon:Shape = new Shape();
- icon.graphics.beginFill(0x0DB1666);
- icon.graphics.drawRect(0, 0, 14, 14);
- icon.graphics.beginFill(0xffffff);
- icon.graphics.drawRect(3, 3, 8, 8);
- icon.graphics.beginFill(0x740C35);
- icon.graphics.drawRect(5, 5, 4, 4);
- icon.graphics.endFill();
- icon.x = (STAGE_WIDTH + icon.width) / 2;
- icon.y = 8;
- container.addChild(icon);
- }
- private function drawSea():void {
- var sea:Shape = new Shape();
- sea.graphics.beginFill(0x2009A0);
- sea.graphics.drawRect(15, 350, STAGE_WIDTH - 30, 100);
- sea.graphics.endFill();
- container.addChild(sea);
- }
- private function drawWall(color:uint, offset:Number = 0):void {
- var wall:Shape = new Shape();
- wall.graphics.beginFill(color);
- wall.graphics.drawRect(130, 282, 320 - offset, 83);
- wall.graphics.drawRect(135, 254, 7, 28);
- wall.graphics.drawRect(255, 254, 7, 28);
- wall.graphics.drawRect(375, 254, 7, 28);
- wall.graphics.drawRect(130, 265, 5, 7);
- wall.graphics.drawRect(142, 265, 113, 7);
- wall.graphics.drawRect(262, 265, 113, 7);
- wall.graphics.drawRect(382, 265, 68-offset, 7);
- wall.x = offset;
- wall.y = -offset;
- container.addChild(wall);
- }
- private function drawGround():void {
- var shadow:Shape = new Shape();
- shadow.graphics.beginFill(0x0);
- shadow.graphics.moveTo(100, 375);
- shadow.graphics.lineTo(95, 425);
- shadow.graphics.lineTo(80, 425);
- shadow.graphics.lineTo(75, 450);
- shadow.graphics.lineTo(140, 450);
- shadow.graphics.lineTo(140, 375);
- container.addChild(shadow);
- var ground:Shape = new Shape();
- ground.graphics.beginFill(0x857503);
- ground.graphics.moveTo(130, 365);
- ground.graphics.curveTo(104, 368, 100, 375);
- ground.graphics.curveTo(95, 385, 130, 395);
- ground.graphics.curveTo(100, 410, 95, 412);
- ground.graphics.curveTo(78, 422, 80, 425);
- ground.graphics.curveTo(90, 445, 130, 450);
- ground.graphics.lineTo(450, 450);
- ground.graphics.lineTo(450, 365);
- ground.graphics.lineTo(130, 365);
- ground.graphics.endFill();
- container.addChild(ground);
- }
- }
- 出題者からのコメント
- 素材の活用を、こうアレンジするとは夢にも思わず、背景と、音楽にもこだわりをもっている感じが、非常に素敵だと思いました。
- Comments from Sponsor
- The usage of material turned out to an adorable work. I thought it's extreamely wonderful with all feeling together with scenery and music.


