Beginning issue: I am continuously getting an error 1136 at var timer:Timer=new Timer(10000,1);. I am not sure if its a computer error or what. I know you put (delay, and then time interval) for Timer, but it still gives me the error message.
update: I uploaded the whole code from the original post to see if anyone could find any errors. My Timers should be correct but I am still getting the error 1136 on my program and it won't even run. When I do take out the timers, the code works perfectly fine. Is there any other way to. implement a timer to make the game stop and say game over?
package {
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.TimerEvent;
import flash.utils.Timer;
import flash.text.*;
public class Duckhunt extends MovieClip
{
private var player1:Player;
private var counter:Number;
private var points:Number;
private var cursor:Cursor;
private var duckArmy:Vector.<Duck1>;
private var duckArmy2:Vector.<Duck2>;
private var duckCounter:Number;
private var duckCounter2:Number;
private var count:Number=10;
private var timer:Timer;
//var countDownDec:Number=1;
//private var myTimer:Timer=new Timer(0,count);
public function Duckhunt()
{
//# constructor code
// creates a new five-second Timer
var timer:Timer=new Timer(10000,1);
//add event listner to timer
timer.start();
//starts the timer
//myTimer.start();
player1=new Player();
player1.x = 375; player1.y = 400; addChild(player1);
//cursor crosshair
cursor= new Cursor();
cursor.x = 400; cursor.y = 200; addChild(cursor);
//add enemy
duckArmy=new Vector.<Duck1>();
for(var i:Number = 0; i < 30; i++)
{
var duck:Duck1 = new Duck1(400,0);
duckArmy.push(duck);
duck.y = 450;
stage.addChild(duck);
duck.gotoAndPlay("fly");
duck.addEventListener(MouseEvent.CLICK, hitEnemy);
}//end duck1 army
//add second second enemy
duckArmy2=new Vector.<Duck2>();
for(var j:Number=0;j<30;j++)
{
var duck2:Duck2 = new Duck2(0,400);
duckArmy2.push(duck2);
duck2.x = -900;
stage.addChild(duck2);
duck2.gotoAndPlay("fly");
duck2.addEventListener(MouseEvent.CLICK, hitEnemy);
}//end duck2 army
duckCounter = duckCounter2 =counter = points = 0;
addEventListener(Event.ENTER_FRAME, frameMovement);
}//end constructor
}//end class
}//end package
If you've declared your :Timer
object as a public or private variable:
private var timer:Timer;
There's no need for declaring yet another new variable (with same name) in later functions;
var timer:Timer=new Timer(10000,1); //creates a new 2nd var.. causes error..
timer.start();
Shoud be:
timer = new Timer (10000,1); //uses existing private var
timer.start();
Also note:
That timer
variable name is too similar to the Timer
datatype name, consider changing the name's spelling to avoid "clashing" with built-in system names. Never do var int :int = 0;
.
Try naming as _timer :Timer;
or even myTimer :Timer;