flash on 2013-5-21
♥0 |
Line 80 |
Modified 2013-05-23 22:40:20 |
MIT License
archived:2017-03-30 22:53:00
ActionScript3 source code
/**
* Copyright mutantleg ( http://wonderfl.net/user/mutantleg )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/bgeO
*/
package {
import flash.events.Event;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
// write as3 code here..
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public var cx:Number = 200;
public var cy:Number = 200;
public var vx:Number = 0;
public var vy:Number = 0;
public var reload:int = 0;
public var movedir:int = 0;
public var wx:Number = 0;
public var vecBull:Vector.<xBullet> = new Vector.<xBullet>(0, false);
public function fireBullet(ax:Number, ay:Number, avx:Number, avy:Number):void
{
var a:xBullet;
a = new xBullet();
a.cx = ax;
a.cy = ay;
a.vx = avx;
a.vy = avy;
a.hp = 40;
vecBull.push(a);
}//firebullet
public function onEnter(e:Event):void
{
var mx:Number;
var my:Number;
mx = mouseX;
my = mouseY;
graphics.clear();
graphics.lineStyle(2, 0);
graphics.drawRect(50, 50, 300, 300);
graphics.drawRect(mx-8,my-8,16,16);
vy += 0.4;
if (vx > 0 && cx > 350-16) { vx = 0; cx = 350-16; movedir = 16; }
if (vx < 0 && cx < 50+16) { vx = 0; cx = 50+16; movedir = 0; }
if (vy > 0 && cy >= 350) { vy = 0; cy = 350;}
if (vy < 0 && cy < 50) { vy = 0; cy = 50; }
// fireBullet(cx,cy-16, 3,3);
if (movedir == 0) { if (vx < 3) { vx +=0.2;} }
else { if (vx > -3) { vx -= 0.2;} }
wx += 1;
if (wx > 60) { vx*= 0.92;}
if (wx >= 100 && wx < 110) { if (mx < cx) { movedir = 16; } else {movedir=0;} }
if (wx >= 120) { vy = -7; wx = 0;}
cx += vx; cy += vy;
graphics.drawCircle(cx, cy-16, 16);
var i:int;
var num:int;
var a:xBullet;
num = vecBull.length;
for (i = 0; i < num; i++)
{
a = vecBull[i];
a.cx += a.vx;
a.cy += a.vy;
a.hp -= 1;
if (a.hp <= 0)
{
vecBull[i] = vecBull[num - 1];
num -= 1;
i -= 1;
vecBull.pop();
continue;
}
graphics.drawRect(a.cx-4,a.cy-4,8,8);
}//nexti
}//onenter
}//classend
}
internal class xBullet
{
public var cx:Number = 0;
public var cy:Number = 0;
public var vx:Number = 0;
public var vy:Number = 0;
public var hp:Number = 0;
}//classend