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.