Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package {
- import flash.display.MovieClip;
- import flash.events.MouseEvent;
- import flash.events.Event;
- import flash.geom.ColorTransform;
- import flash.media.Sound;
- import flash.media.SoundChannel;
- public class BowAndArrowCode extends MovieClip {
- public function BowAndArrowCode() {
- // variables and arrays ********************************************************************************
- var aArray: Array = new Array();
- var xArray: Array = new Array();
- var yArray: Array = new Array();
- var okArray: Array = new Array();
- var okFire: Boolean = true;
- var speed: Number = 18;
- var dir: String = "up";
- var aColor: ColorTransform = new ColorTransform();
- var bColor: ColorTransform = new ColorTransform();
- // on load **********************************************************************************************
- var b: bow = new bow();
- addChild(b);
- b.x = 275;
- b.y = 350;
- b.width = 75;
- b.height = 50;
- // event listeners ***************************************************************************************
- addEventListener(Event.ENTER_FRAME, mainFun);
- function mainFun(evt: Event): void {
- moveArrows();
- if (dir == "up") {
- speed++;
- trace (speed);
- if (speed > 55) dir = "down";
- } else if (dir == "down") {
- speed--;
- if (speed < 0) dir = "up";
- }
- }
- stage.addEventListener(MouseEvent.MOUSE_UP, shootFun);
- function shootFun(evt: MouseEvent): void {
- var tempAngle: Number = (b.rotation + 90) * Math.PI / 180;
- xArray[xArray.length - 1] = Math.cos(tempAngle) * speed;
- yArray[yArray.length - 1] = Math.sin(tempAngle) * speed;
- okArray[okArray.length - 1] = true;
- okFire = true;
- }
- stage.addEventListener(MouseEvent.MOUSE_DOWN, fireFun);
- function fireFun(evt: MouseEvent): void {
- if (okFire) {
- speed = 0;
- var a: arrow = new arrow();
- aArray.push(a);
- addChild(aArray[aArray.length - 1]);
- aArray[aArray.length - 1].x = b.x;
- aArray[aArray.length - 1].y = b.y;
- aArray[aArray.length - 1].rotation = b.rotation;
- aColor.color = Math.random() * 0xFFFFFF;
- bColor.color = Math.random() * 0xFFFFFF;
- aArray[aArray.length - 1].transform.colorTransform = aColor;
- b.transform.colorTransform = bColor;
- var tempAngle: Number = (b.rotation + 90) * Math.PI / 180;
- xArray.push(0);
- yArray.push(0);
- okArray.push(false);
- okFire = false;
- }
- }
- stage.addEventListener(MouseEvent.MOUSE_MOVE, aimingFun);
- function aimingFun(evt: MouseEvent): void {
- b.rotation = (Math.atan2(b.y - mouseY, b.x - mouseX) * 180 / Math.PI) - 90;
- if (okArray[okArray.length - 1] == false) {
- aArray[aArray.length - 1].rotation = b.rotation;
- }
- }
- // functions ******************************************************************************************
- function moveArrows(): void {
- for (var i: Number = 0; i < aArray.length; i++) {
- if (okArray[i] == true) {
- aArray[i].x -= xArray[i];
- aArray[i].y -= yArray[i];
- yArray[i] -= .5;
- aArray[i].rotation = Math.atan2(yArray[i], xArray[i]) * 180 / Math.PI - 90;
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment