I wrote this code for a game im making, Im just learning, There are no compiler errors but when i run the code it fails with no errors. I have a line where i would like to goto a specified frame so the code is Button_Object.gotoAndStop(Local_Frame) but it looks as if the program just skips over it. I have tried to put _root.gotoAndstop(Local_Frame) and stage.gotoAndStop(Local_Frame) but these both give compiler errors the error it gives is
C:\Users\Nathan\Desktop\Matching Game\ClickSolver.as,
Line 34 1120: Access of undefined property _root.
I do see the trace statements. As a side note im trying to access the the main time line, not the objects timeline.
here's the code
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.utils.Timer;
import flash.events.TimerEvent;
public class ClickSolver {
private var Button_Object:MovieClip;
private var Check_Object:MovieClip;
private var Score:Number = 0;
private var Local_Frame:Number = 0;
private var Local_Timer:Timer = new Timer(1000,3);
public function ClickSolver(ButtonObject:MovieClip, CheckObject:MovieClip, Frame:Number) {
Local_Frame = Frame;
Button_Object = ButtonObject;
Check_Object = CheckObject;
Button_Object.buttonMode = true;
trace(Button_Object.name);
trace(Check_Object.name);
Local_Timer.start();
trace(Local_Timer.currentCount);
Button_Object.addEventListener(MouseEvent.CLICK, Object_Button_Clicked);
Button_Object.addEventListener(MouseEvent.MOUSE_OVER,Button_Mouse_Over);
Button_Object.addEventListener(MouseEvent.MOUSE_OUT, Button_Mouse_Out);
Local_Timer.addEventListener(TimerEvent.TIMER_COMPLETE, TimerIsDone);
}
private function TimerIsDone (event:TimerEvent):void{
trace("Timer is done");
Local_Timer.stop();
Local_Timer.reset();
Button_Object.gotoAndStop(Local_Frame);
}
private function Button_Mouse_Out (event:MouseEvent):void{
Button_Object.alpha = 1;
}
private function Button_Mouse_Over (event:MouseEvent):void{
Button_Object.alpha = 0.75;
}
private function Object_Button_Clicked (event:MouseEvent):void{
Score++;
Check_Object.visible = false;
Button_Object.gotoAndStop(Local_Frame);
trace("Score: " + Score);
trace("Frame: " + Local_Frame);
}
}
}
_root isn't supported in AS3.
Try
MovieClip(root).gotoAndStop(local_Frame);
PS. A common naming convention for you code is to name variables using lower camelCase (i.e. start with a lowercase letter) and name classes with upper CamelCase (i.e. start with an uppercase letter).
This will make your code easier to read and allow you to instantly see which items are variables and classes.