flash on 2013-1-12
♥0 |
Line 156 |
Modified 2013-01-21 09:35:34 |
MIT License
archived:2017-03-20 09:05:17
ActionScript3 source code
/**
* Copyright marcsali ( http://wonderfl.net/user/marcsali )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/ha76
*/
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.events.MouseEvent;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
import flash.events.Event;
[SWF(width=580, height=460, backgroundColor="#33ffff", frameRate=100)]
public class Main extends Sprite {
private var _hikouki:Sprite;
private var _marus:Array = [];
private var _marus_move:Array = [];
private var _count:Number = 0;
private var _count2:Number = 0;
private var _stage_num:Number = 10;
private var _hp_num:Number = 10;
private var hpFld:TextField;
private var hpInfo:TextField;
private var stageFld:TextField;
public var avion_X:Number=290;
public var avion_Y:Number=230;
public function Main():void {
_hikouki=new Sprite();
_hikouki.graphics.beginFill(0x22FFFF);
_hikouki.graphics.moveTo(avion_X+0, avion_Y-4);
_hikouki.graphics.lineTo(avion_X+3, avion_Y-2);
_hikouki.graphics.lineTo(avion_X+7, avion_Y-2);
_hikouki.graphics.lineTo(avion_X+7, avion_Y);
_hikouki.graphics.lineTo(avion_X+3, avion_Y);
_hikouki.graphics.lineTo(avion_X+3,avion_Y+3);
_hikouki.graphics.lineTo(avion_X+20,avion_Y+3);
_hikouki.graphics.lineTo(avion_X+20,avion_Y+10);
_hikouki.graphics.lineTo(avion_X+3,avion_Y+13);
_hikouki.graphics.lineTo(avion_X+3,avion_Y+18);
_hikouki.graphics.lineTo(avion_X+12,avion_Y+21);
_hikouki.graphics.lineTo(avion_X+12,avion_Y+25);
_hikouki.graphics.lineTo(avion_X+2,avion_Y+25);
_hikouki.graphics.lineTo(avion_X+0,avion_Y+28);
_hikouki.graphics.lineTo(avion_X-2,avion_Y+25);
_hikouki.graphics.lineTo(avion_X-12,avion_Y+25);
_hikouki.graphics.lineTo(avion_X-12,avion_Y+21);
_hikouki.graphics.lineTo(avion_X-3,avion_Y+18);
_hikouki.graphics.lineTo(avion_X-3,avion_Y+13);
_hikouki.graphics.lineTo(avion_X-20,avion_Y+10);
_hikouki.graphics.lineTo(avion_X-20,avion_Y+3);
_hikouki.graphics.lineTo(avion_X-3,avion_Y+3);
_hikouki.graphics.lineTo(avion_X-3,avion_Y+0);
_hikouki.graphics.lineTo(avion_X-7, avion_Y);
_hikouki.graphics.lineTo(avion_X-7, avion_Y-2);
_hikouki.graphics.lineTo(avion_X-3, avion_Y-2);
_hikouki.graphics.lineTo(avion_X+0, avion_Y-4);
addChild(_hikouki);
hpFld = new TextField();
hpFld.textColor=0x666666;
hpInfo = new TextField();
hpInfo.textColor=0xbbfffff;
var textFormat:TextFormat = new TextFormat();
textFormat.size=20;
hpFld.defaultTextFormat=textFormat;
addChild(hpFld);
hpFld.x=10;
hpFld.text="HP 10";
stageFld = new TextField();
stageFld.textColor=0x666666;
stageFld.defaultTextFormat=textFormat;
addChild(stageFld);
stageFld.x=390;
stageFld.text = "Stage 1";
hpInfo.defaultTextFormat=textFormat;
addChild(hpInfo);
hpInfo.x=480;
hpInfo.y=450;
hpInfo.width=100;
hpInfo.text="By SkyDro";
addChild(myKeyDown);
}
public function myKeyDown(){
this.addEventListener(Event.ENTER_FRAME, onEnter3);
this.addEventListener(Event.ENTER_FRAME, onEnter2);
this.addEventListener(Event.ENTER_FRAME, onEnter1);
}
public function onEnter1(e:Event):void {
var n:int=_marus.length;
for (var i:int = 0; i < n; i++) {
if (_marus[i].parent) {
if (_marus[i].y<580) {
_marus[i].y+=_marus_move[i];
if (_marus[i].hitTestObject(_hikouki)) {
_marus[i].visible=false;
_marus[i].graphics.clear();
_hp_num-=1;
hpFld.text="HP "+_hp_num;
if (_hp_num==0) {
//GAMEOVER
var shikaku:Sprite=new Sprite();
shikaku.graphics.beginFill(0xFF3366);
shikaku.graphics.moveTo(0, 0);
shikaku.graphics.lineTo(480, 0);
shikaku.graphics.lineTo(480, 480);
shikaku.graphics.lineTo(0, 480);
shikaku.graphics.lineTo(0, 0);
this.addChild(shikaku);
//GAMEOVER
var tf:TextField = new TextField();
tf.width=300;
var textFormat:TextFormat = new TextFormat();
textFormat.size=20;
tf.defaultTextFormat=textFormat;
tf.textColor=0xffffff;
tf.y=220;
tf.x=180;
this.addChild(tf);
tf.text="GAME OVER";
removeEventListener(Event.ENTER_FRAME,onEnter1);
removeEventListener(Event.ENTER_FRAME,onEnter2);
removeEventListener(Event.ENTER_FRAME,onEnter3);
}
}
} else {
this.removeChild(_marus[i]);
//_marus[i].graphics.clear();
}
}
}
}
public function onEnter2(e:Event):void {
var avion_XX:Number = avion_X;
var avion_YY:Number = avion_Y;
_hikouki.x +=(stage.mouseX-_hikouki.x )*0.2 - avion_XX/5;
_hikouki.y +=(stage.mouseY-_hikouki.y )*0.2 - avion_YY/5;
}
public function onEnter3(e:Event):void {
_count++;
_count2++;
if (_count2==200) {
_stage_num--;
stageFld.text="Stage "+(10-_stage_num);
_count2=0;
_count=0;
}
if (_count==_stage_num) {
_count=0;
var myColor:Number=Math.random();
var myAlpha:Number=Math.random()*0.5+0.3;
var mySize:Number=Math.random()*15+5;
var maru:Sprite = new Sprite();
maru.graphics.beginFill(myColor * 0xFFFFFF, myAlpha);
maru.graphics.drawCircle(0, 0, mySize);
maru.graphics.endFill();
maru.x=Math.random()*580;
this.addChild(maru);
_marus.push(maru);
_marus_move.push(Math.random() * 20 + 1);
}
}
}
}