kolmapäev, 9. september 2009

Ülesanne: Eluka liigutamine

Kui elukas on joonistatud, siis järgmine samm on tema liikuma panemine selliselt, et eluka asukoht ekraanil sõltuks hiire asukohast.
Kuidas tuvastada hiire asukohta mingil ajahetkel? Igas Flash programmis on olemas klassi flash.display.Stage objekt stage, millel on parameetrid mouseX ja mouseY, kuhu salvestatakse hiire hetkel kehtivad koordinaadid.
Kuidas reageerida hiire liikumisele? Üks võimalus on tuvastada sündmus Event.ENTER_FRAME, mis genereeritakse iga kord, kui animatsioon jõuab vastavasse kaadrisse. Sündmusega seotud töötleja (funktsioon, mille peame ise looma) muudab eluka asukohta. Sündmuste kohta on täiendavat lugemist artiklis "Handling events".

Näide:
 
  1.  //Paigaldame sündmusetuvastaja
  2.  stage.addEventListener(Event.ENTER_FRAME, doDrawThing); 
  3.   
  4.  //Sündmusetöötleja 
  5.  function doDrawThing(event:Event):void
  6.  {
  7.      //Kustutame vana joonistuse
  8.      graphics.clear();
  9.      //Kirjeldame joone 
  10.      graphics.lineStyle(1, 0x000000);
  11.      //Joonistame eluka uude asukohta
  12.      graphics.drawRect(stage.mouseX, stage.mouseY, 20, 20);
  13.  }

Kommentaare ei ole:

Postita kommentaar