Error 1180 : undefined method stop and gotoAndStop
Error 1180 : undefined method stop and gotoAndStop
i don't know why
Here ,, it's my code is file [.as] and i use as3
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.Timer;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.net.URLRequest;
public class MemoryGame extends Sprite {
static const numLights:uint = 5;
private var lights:Array; // list of light objects
private var playOrder:Array; // growing sequence
private var repeatOrder:Array;
// timers
private var lightTimer:Timer;
private var offTimer:Timer;
var gameMode:String; // play or replay
var currentSelection:MovieClip = null;
var soundList:Array = new Array(); // hold sounds
public function MemoryGame() {
//soundBG.load(new URLRequest("soundBG.mp3"));
//soundBG.addEventListener(Event.COMPLETE,loadSoungBgComplete);
stop();
StartBtn.addEventListener(MouseEvent.CLICK, clickStart);
function clickStart(e:MouseEvent){
gotoAndStop("startPage");
}
// load the sounds
soundList = new Array();
for(var i:uint=1;i<=5;i++) {
var thisSound:Sound = new Sound();
var req:URLRequest = new URLRequest("note"+i+".mp3");
thisSound.load(req);
soundList.push(thisSound);
}
// make lights
lights = new Array();
for(i=0;i<numLights;i++) {
var thisLight:Light = new Light();
thisLight.lightColors.gotoAndStop(i+1); // show proper frame
thisLight.x = i*90+100; // position
thisLight.y = 175;
thisLight.lightNum = i; // remember light number
lights.push(thisLight); // add to array of lights
addChild(thisLight); // add to screen
thisLight.addEventListener(MouseEvent.CLICK,clickLight); // listen for clicks
thisLight.buttonMode = true;
}
// reset sequence, do first turn
playOrder = new Array();
gameMode = "play";
nextTurn();
}
// add one to the sequence and start
public function nextTurn() {
// add new light to sequence
var r:uint = Math.floor(Math.random()*numLights);
playOrder.push(r);
// show text
textMessage.text = "Watch and Listen.";
textScore.text = "Sequence Length: "+playOrder.length;
// set up timers to show sequence
lightTimer = new Timer(1000,playOrder.length+1);
lightTimer.addEventListener(TimerEvent.TIMER,lightSequence);
// start timer
lightTimer.start();
}
// play next in sequence
public function lightSequence(event:TimerEvent) {
// where are we in the sequence
var playStep:uint = event.currentTarget.currentCount-1;
if (playStep < playOrder.length) { // not last time
lightOn(playOrder[playStep]);
} else { // sequence over
startPlayerRepeat();
}
}
// start player repetion
public function startPlayerRepeat() {
currentSelection = null;
textMessage.text = "Repeat.";
gameMode = "replay";
repeatOrder = playOrder.concat();
}
// turn on light and set timer to turn it off
public function lightOn(newLight) {
soundList[newLight].play(); // play sound
currentSelection = lights[newLight];
currentSelection.gotoAndStop(2); // turn on light
offTimer = new Timer(500,1); // remember to turn it off
offTimer.addEventListener(TimerEvent.TIMER_COMPLETE,lightOff);
offTimer.start();
}
// turn off light if it is still on
public function lightOff(event:TimerEvent) {
if (currentSelection != null) {
currentSelection.gotoAndStop(1);
currentSelection = null;
offTimer.stop();
}
}
// receive mouse clicks on lights
public function clickLight(event:MouseEvent) {
// prevent mouse clicks while showing sequence
if (gameMode != "replay") return;
// turn off light if it hasn't gone off by itself
lightOff(null);
// correct match
if (event.currentTarget.lightNum == repeatOrder.shift()) {
lightOn(event.currentTarget.lightNum);
// check to see if sequence is over
if (repeatOrder.length == 0) {
nextTurn();
}
// got it wrong
} else {
textMessage.text = "Game Over!";
gameMode = "gameover";
}
}
}
}
and i don't push any code
at fla file
why i got that help me plss
that is my homework and i must send it today TT