# Bullet Arrays are troublesome

**URL:** <https://forum.kirupa.com/t/bullet-arrays-are-troublesome/319242>\
**Category:** flash\
**Created:** [February 13, 2011, 11:23pm UTC](https://forum.kirupa.com/t/bullet-arrays-are-troublesome/319242 "2011-02-13T23:23:02Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![funkymonk61](https://avatars.discourse-cdn.com/v4/letter/f/f4b2a3/32.png) [@funkymonk61](https://forum.kirupa.com/u/funkymonk61)\
**Post date:** [February 13, 2011, 11:23pm UTC](https://forum.kirupa.com/t/bullet-arrays-are-troublesome/319242/1 "2011-02-13T23:23:02Z")

</div>

so ive been making a game akin to champion archer using AS3 and ive hit upon a snare. my code is all written on the main timeline and i am lost when it comes to classes so i was wondering id it would be possible to make a bullet array on the main timeline and how to do that, or if that’s impossible how to incorporate a bullet array with a class without having to shuffle my code around too much, heres my timeline code.

import flash.events.Event;  
import flash.events.MouseEvent;  
import classes.weapons.NormalArrow;

var normalArrow:NormalArrow = new NormalArrow;  
addChild(normalArrow);  
stage.focus = normalArrow;

var powerOn:Boolean = true  
var Xmov:Number = 0  
var Ymov:Number = 0  
var Gravity:Number = .2  
var mousex:Number  
var mousey:Number  
var distanceX:Number  
var distanceY:Number  
var distance:Number  
var radians:Number  
var degrees:Number  
var previousX:Number  
var previousY:Number  
var Arrow\_mcX:Number  
var Arrow\_mcY:Number  
var Arrows:Array

stage.addEventListener(MouseEvent.MOUSE\_DOWN, record)  
addEventListener(Event.ENTER\_FRAME,EnterFrame)  
stage.addEventListener(MouseEvent.MOUSE\_UP, Release)

function Release (e:MouseEvent){  
distanceX = (mouseX-bowMan.x)  
distanceY = (mouseY-bowMan.y)  
radians = Math.atan2(distanceY, distanceX)  
degrees = radians \* (180/Math.PI)  
distance = (power.height)/5  
// Trajectory of the Arrow\_mc  
if (Math.abs(degrees)\>90){  
Xmov = (distance)\*(degrees-90)/70  
Ymov = -((Math.abs(degrees)-180)_distance)/15  
}  
if (Math.abs(degrees)\<= 90){  
Xmov = (distance)_(degrees+180)/70  
Ymov = (Math.abs(degrees)\*distance)/15  
}  
power.height = 0  
removeEventListener(Event.ENTER\_FRAME,powerBar)

}

function record (e:MouseEvent){  
addEventListener(Event.ENTER\_FRAME,powerBar)  
}

function powerBar (e:Event){  
if (power.height \< 1){  
powerOn = true  
}  
if (power.height \> 10){  
powerOn = false  
}

if (powerOn == true){  
power.height += 1  
}

if (powerOn == false){  
power.height -= 1  
trace(powerOn)  
}

}

function EnterFrame (e:Event){  
previousX = Arrow\_mcX  
previousY = Arrow\_mcY  
Arrow\_mcX = Arrow\_mc.x  
Arrow\_mcY = Arrow\_mc.y  
radians = Math.atan2((Arrow\_mcX-previousX), (Arrow\_mcY-previousY));  
Arrow\_mc.x += Xmov;  
Arrow\_mc.y -= Ymov;  
Arrow\_mc.rotation = -(radians\*180/Math.PI)-90  
trace(Arrow\_mc.rotation)  
Ymov -= Gravity;  
}

help would be greatly appreciated as this is getting me pretty frustrated.
