Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Level2Enkel.as
  2. // DN 060111
  3.  
  4. package {
  5.     //import flash.display.Sprite;
  6.     import flash.display.Stage;
  7.     import flash.events.TimerEvent;
  8.     import flash.utils.Timer;
  9.     import flash.events.MouseEvent;
  10.     import flash.ui.Keyboard;
  11.     import flash.events.KeyboardEvent; 
  12.     import flash.filters.*;
  13.    
  14.  
  15.    
  16.     public class Level2Enkel extends LevelBaseEnkel
  17.     {
  18.         //OBJEKTER PÅ STAGE
  19.         //Disse variablene fins i baseklassen:
  20.         //private var _stage:Stage;
  21.         //private var _finished:Boolean;
  22.         //private var _timer;
  23.         private var npc:Npc;
  24.         private var forgrunn:Rektangel;
  25.         private var karakter:LKarakter;    
  26.        
  27.         private var _fugl:Lfugl;
  28.         private var _fugl2:Lfugl2;
  29.         private var _huske:Lhuske;
  30.         private var _bird:LBird;
  31.         private var _bg:LBackground01;
  32.         private var _ground:LBakke01;
  33.         private var _foreground:LForeground;
  34.         private var _tree:LTree01;
  35.         private var _fog:LFog;
  36.         //private var myBlur:BlurFilter = new BlurFilter();
  37.        
  38.         //BOOLEAN - TIMER - NUMBER - INT o.l plasseres her.
  39.         private var _leftKey:Boolean = false            //boolean for venstre tast blir laget.
  40.         private var _rightKey:Boolean = false           //boolean for høyre tast blir laget
  41.         private var _tasteFart:Number = 0;              //_tasteFart blir satt. _tastefart definerer farten det roterene objektet skal ha
  42.         private var _velocity:Number = 0;               //velocity blir satt.
  43.         private var _friksjon:Number = 2;               //friksjonen blir satt.
  44.         private const _gravity:Number = 0.04;           //tyngdekraften blir satt. denne skal ikke endre seg senere i skriptet.
  45.         //private var _vinkel:Number = _huske.rotation*Math.PI/180;     //se bort ifra denne
  46.         private var _huskeHøyde:Number;
  47.         private var _startFart:Number;
  48.         private var _huskeVinkel:Number;
  49.         private var _hopp:Boolean = false;
  50.         //fugl
  51.         private var _fvelocity:Number = 0;
  52.         private const _fgravity:Number = 0.20;
  53.        
  54.         /*  Initialiserer stageParam slik at Level1 kan brukes som dokumentklasse.
  55.             Det er lov til å initialisere parametre med en default verdi,
  56.             slik at funksjonen/konstruktøren kan brukes uten å angi parameter.
  57.             Grunnen til at vi gjør dette her, er at levelet kan brukes som
  58.             egen dokumentklasse - uavhengig av level manageren.
  59.         */ 
  60.         public function Level2Enkel(stageParam:Stage=null)
  61.         {
  62.             super(stageParam);
  63.            
  64.             _fugl2 = new Lfugl2();
  65.            
  66.             _bg = new LBackground01
  67.             addChild(_bg);
  68.             _bg.x = 0;
  69.             _bg.y = 400;
  70.            
  71.             _tree = new LTree01;
  72.             addChild(_tree);
  73.             _tree.x = 200;
  74.             _tree.y = 0;
  75.            
  76.             _ground = new LBakke01;
  77.             addChild(_ground);
  78.             _ground.x = 0;
  79.             _ground.y = 400;
  80.             //_ground.alpha = 0;
  81.            
  82.             _fog = new LFog;
  83.             addChild(_fog);
  84.             _fog.x = 0;
  85.             _fog.y = 400;
  86.             //_fog.alpha = 0;
  87.            
  88.             _foreground = new LForeground();
  89.             addChild(_foreground);
  90.             _foreground.x = 280;
  91.             _foreground.y = 380;
  92.             //_foreground.alpha = 0;
  93.            
  94.             npc = new Npc();
  95.             npc.x = 50;
  96.             npc.y = _foreground.y - npc.height/2;              
  97.             npc.vx = -1;
  98.             addChild(npc);
  99.             npc.gotoAndStop(1);
  100.            
  101.             karakter = new LKarakter();    
  102.             addChild(karakter);
  103.             karakter.x = 500;
  104.             karakter.y = _foreground.y - karakter.height/2;
  105.             karakter.gotoAndStop(1);
  106.            
  107.             //////////////////
  108.             _huske = new Lhuske();          //setter navn på Lhuske til _huske.
  109.             addChild(_huske);               //legger til _huske på stage.
  110.             _huske.x = 200;                 //plasserer _huske sin x posisjon.
  111.             _huske.y = 50;                  //plasserer _huske sin y posisjon.
  112.             _huske.rotation = 0;            //setter vinkelen til husken til 0 grader.
  113.             _huskeHøyde = _huske.height;
  114.             ///////////////////////
  115.                            
  116.            
  117.         }
  118.         // En enkel måte å starte timeren på
  119.         public override function onClick(me:MouseEvent) : void
  120.         {
  121.             _timer.start();
  122.             npc.play();
  123.             //trace (onClick);
  124.         }  
  125.        
  126.         public override function onTimer(tEvent:TimerEvent) : void
  127.         {
  128.             if(_huske.rotation > 0)                                     //Når husken sin rotasjon er til venstre for midtpunktet skal:
  129.             {
  130.                 _velocity -= _gravity;                                  //* -= 0.04
  131.             }
  132.             else if (_huske.rotation < 0 )                              //Når husken sin rotasjon er til venstre for midtpunktet skal:
  133.             {
  134.                 _velocity += _gravity;                                  //* += 0.04
  135.             }
  136.             _huske.rotation += _tasteFart + _velocity * _friksjon;      //husken sin rotasjon += * + * * 6
  137.             //trace (_tasteFart + _velocity * _friksjon);
  138.             //trace (_tasteFart + _velocity);
  139.             trace (_huske.rotation)
  140.            
  141.             if (_hopp == true)
  142.             {
  143.                 _fugl2.x = _fugl2.x + Math.cos((_huskeVinkel - 90 )*Math.PI/180)* -_startFart * 3;
  144.                 _fugl2.y = _fugl2.y + Math.sin((_huskeVinkel - 90 )*Math.PI/180)* -_startFart * 3;
  145.                 _fvelocity+=_fgravity;
  146.                 _fugl2.y+=_fvelocity;
  147.             }
  148.            
  149.             npc.x += .3;
  150.             if (npc.hitTestObject(karakter))
  151.             {
  152.                 _finished = true;
  153.                 _timer.stop();         
  154.             }
  155.         }      
  156.        
  157.         //  public function isFinished() : Boolean arves fra baseklassen:
  158.         public override function onKeyPressed(e:KeyboardEvent) : void       //hvis man trykker ned en tast (left/right)
  159.         {
  160.             if (e.keyCode == Keyboard.LEFT)                         //hvis venstre tast blir trykket
  161.             {
  162.                 _leftKey = true;                                    //blir _leftKey true
  163.                 _tasteFart = .8;                                    //og _tasteFart blir satt til 0.5
  164.                 //_tasteFart += _tasteFart + _velocity;
  165.             }
  166.             if (e.keyCode == Keyboard.RIGHT)                        // samme for høyretasten.
  167.             {
  168.                 _rightKey = true;
  169.                 _tasteFart = -.8;
  170.                 //_tasteFart -= _tasteFart - _velocity;
  171.             }
  172.             if (e.keyCode == 32)
  173.             {
  174.                 if (_hopp == false)
  175.                
  176.                 {
  177.                    
  178.                     _hopp = true;
  179.                     addChild(_fugl2);
  180.                     _huske._fugl.alpha = 0;
  181.                     _fugl2.x = _huske.x + Math.cos((_huske.rotation + 90 )*Math.PI/180)*_huskeHøyde;
  182.                     _fugl2.y = _huske.y + Math.sin((_huske.rotation + 90 )*Math.PI/180)*_huskeHøyde;
  183.                     _startFart = _tasteFart + _velocity * _friksjon;
  184.                     _huskeVinkel = _huske.rotation + 90;
  185.                    
  186.                 }
  187.             }          
  188.         }
  189.         public override function onKeyReleased(e:KeyboardEvent) : void      //hvis ingen taster er nede skal:
  190.         {
  191.         _tasteFart = 0;                                             //_tasteFart bli 0.
  192.        
  193.             if (e.keyCode == Keyboard.LEFT)                         //og hvis venstre tast blir sluppet skal _leftKey bli false.
  194.             {
  195.                 _leftKey = false;
  196.             }
  197.             if (e.keyCode == Keyboard.RIGHT)                        //det samme for høyre.
  198.             {
  199.                 _rightKey = false;
  200.             }
  201.         }
  202.     }
  203. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement