var adminMode:Boolean = true; var flipMode:Boolean = false; var vagnNummer:Number = 1; var vagn1y:Number = -60; var vagn2y:Number = -125; var vagn3y:Number = -45; /**Program code:*/ //stanna tidshuvudet på denna keyframe: stop(); //Ladda in alla vagnar (om de inte redan existerar), men gör dem osynliga //Lägg också in nästa- och tidigare-vagn-pilar: if(!vagn1) this.attachMovie("oresund_left", "vagn1", 1, {_x:121, _y:vagn1y}); vagn1._visible = false; if(!vagn2) this.attachMovie("oresund_middle", "vagn2", 3, {_x:121, _y:vagn2y}); vagn2._visible = false; if(!vagn3) this.attachMovie("oresund_right", "vagn3", 6, {_x:121, _y:vagn3y}); vagn3._visible = false; //Lägg till navigeringspilar till alla tågvagnar: attachNavigationArrows(); //Function (method) declarations: //******************************* /**Loads a user interface screen. Which is defined by parameter screenName:String*/ function loadScreen(screenName:String):Void { if(screenName.toLowerCase() =="first") { gotoAndStop(1); } if(screenName.toLowerCase() == "admin") { gotoAndStop(2); } if(screenName.toLowerCase() == "starttest") { vagn1._y = vagn1y; vagn2._y = vagn2y; vagn3._y = vagn3y; gotoAndStop(3); } if(screenName.toLowerCase() == "payment") { //Dölj flipknapp och vagnar: flipButton._visible = false; loadcar(-1); gotoAndStop(4); } } /**Listener for activateSeats button:*/ activateSeatsButtonListener = new Object(); activateSeatsButtonListener.click = function (evt) { loadScreen("admin"); } activateSeatsButton.addEventListener("click", activateSeatsButtonListener); /**Listener for startTestButton:*/ startTestButtonListener = new Object(); startTestButtonListener.click = function (evt) { _root.adminMode = false; loadScreen("starttest"); } startTestButton.addEventListener("click", startTestButtonListener); /**Method for attaching arrows for navigation from car to car*/ function attachNavigationArrows():Void { //VAGN1: vagn1.attachMovie("Arrow_next1", "nextArrow", 500); vagn1.nextArrow._y = -(vagn1._height/2); //VAGN2: vagn2.attachMovie("Arrow_next2", "nextArrow", 500); vagn2.nextArrow._y = -(vagn2._height/2-30); vagn2.attachMovie("Arrow_prev2", "prevArrow", 501); vagn2.prevArrow._y = (vagn2._height/2); //VAGN3: vagn3.attachMovie("Arrow_prev3", "prevArrow", 500); vagn3.prevArrow._y = (vagn3._height/2)+30; } function initAdminInterface():Void { this.attachMovie("Button", "vagn1Button", 11, {_x:10, _y:5}); vagn1Button.label = "Vagn 1"; vagn1Button._xscale = 70; this.attachMovie("Button", "vagn2Button", 12, {_x:80, _y:5}); vagn2Button.label = "Vagn 2"; vagn2Button._xscale = 70; this.attachMovie("Button", "vagn3Button", 13, {_x:150, _y:5}); vagn3Button.label = "Vagn 3"; vagn3Button._xscale = 70; this.attachMovie("Button", "backButton", 14, {_x:0, _y:300 }) backButton.label = "<--"; backButton._xscale = 50; /**Listener for vagn1 button:*/ var vagn1ButtonListener = new Object(); vagn1ButtonListener.click = function (evt) { vagnNummer = 1; loadCar(vagnNummer); } vagn1Button.addEventListener("click", vagn1ButtonListener); /**Listener for vagn2 button:*/ var vagn2ButtonListener = new Object(); vagn2ButtonListener.click = function (evt) { vagnNummer = 2; loadCar(vagnNummer); } vagn2Button.addEventListener("click", vagn2ButtonListener); /**Listener for vagn3 button:*/ var vagn3ButtonListener = new Object(); vagn3ButtonListener.click = function (evt) { vagnNummer = 3; loadCar(vagnNummer); } vagn3Button.addEventListener("click", vagn3ButtonListener); /**Listener for back-button:*/ var backButtonListener = new Object(); backButtonListener.click = function (evt) { removeAdminInterface(); loadScreen("first"); } backButton.addEventListener("click", backButtonListener); } function removeAdminInterface() { //ta bort detta gränssnitt: vagn1Button.removeMovieClip(); vagn2Button.removeMovieClip(); vagn3Button.removeMovieClip(); backButton.removeMovieClip(); //göm alla vagnar: vagn1._visible = false; vagn2._visible = false; vagn3._visible = false; } /**Loads car 1, 2 or 3 onto the screen. if a negative parameter is passed, all cars are made invisible.*/ function loadCar(c:Number):Void { if(c == 1) { vagn2._visible = false; vagn3._visible = false; vagn1._visible = true; setDraggable(vagn1); } if(c == 2) { vagn1._visible = false; vagn3._visible = false; vagn2._visible = true; setDraggable(vagn2); } if(c == 3) { vagn1._visible = false; vagn2._visible = false; vagn3._visible = true; setDraggable(vagn3); } if(c < 0) { vagn1._visible = false; vagn2._visible = false; vagn3._visible = false; } } /*Varje vagn-movieclip har en genomskinlig bakgrund. Denna funktion (metod) gör att vagnen blir "draggable" när man håller nere musknappen/tryckpennan på bakgrunden.*/ function setDraggable(car:Object):Void { car.bg.onPress = function() { //carName.startDrag(false, 121, -(carName._height - 520), 121, 160); switch (car) { case vagn1 : car.startDrag(false, 121, -(car._height-690), 121, 400); break; case vagn2 : //SNED: car.startDrag(false, 121, -(car._height - 860), 121, 520); car.startDrag(false, 121, -(car._height - 800), 121, 480); break; case vagn3 : //Vagn 3 beter sig lite snett i flipMode 180... if(!flipmode)car.startDrag(false, 121, -(car._height - 676), 121, 370); else car.startDrag(false, 121, -(car._height - 730), 121, 400); break; } } car.bg.onRelease = function() { car.stopDrag(); } } function flipEverything():Void { if(!flipMode) { vagn1._rotation = 180; vagn2._rotation = 180; vagn3._rotation = 180; flipMode = true; flipButton.attachMovie("flipped", "flipNotation", 400, {_x:0,_y:0}); } else { vagn1._rotation = 0; vagn2._rotation = 0; vagn3._rotation = 0; flipMode = false; flipButton.flipNotation.removeMovieClip(); } }