Avatar billede scorp-d Nybegynder
05. december 2007 - 09:47 Der er 2 kommentarer og
1 løsning

Begynderspørgsmål til Actionscript 3

Hej..

Jeg er vant til Java, men ville lige prøve Actionscript da min lære havde nævnt at det var et spændende sprog at arbejde i.

Derfor lavede jeg et simpelt Actionscript 2.0 spil, og blev virkelig positiv overraskede over hvor let, hurtigt(tog godt og vel 2 timer at lave, selvom jeg aldrig har rørt hverken Flash eller Actionscript før) og alligevel anderledes det er at arbejde i.

MEN nu prøver jeg så at lave det samme spil, bare i Actionscript 3.0, hvilket har taget de sidste par dage, og er kommet frem til et problem jeg ikke ser ud til at kunne løse.

Spørgsmål:

Jeg brugte hitTest() i Actionscript 2.0 til at se om et element befinder sig over 25 andre elementer, hvis den gør det, skal det underliggende element gå til frame 2, men det virker ikke i 3.0.

Har læst at man kan bruge getBounds() på et movieclip, som returnere en rectangle, hvilket man så kan bruge i containsRect(), men har ikke kunne finde nogle eksempler som passer til det jeg er ved at lave.

Har lykkes mig at lave dette kode som til dels virker, men får fejlen at jeg prøver at kalde en statisk metode ved gotoandstop, koden ligger i en .as fil ved siden af selve .fla filen.

public function ButtonUp(event:MouseEvent):void
{
for(var i =1;i<=25 ;i++)
{
var myTargetName1:String = "element" + i;
var myTarget1:DisplayObject = getChildByName(myTargetName1);
if(event.target.dropTarget != null && event.target.dropTarget.parent == myTarget1)
    { 
myTarget1.gotoAndStop(2);                      break;
    }
      }
}


Det er dette Actionscript 2.0 kode som jeg prøver at lave om til 3.0, ligger i den frame hvor elementerne ligger.

function checkTarget(drag,type)
{
for(var i =1;i<=25 ;i++)
  {
var myTargetName1:String = "element" + i;
var myTarget1:DisplayObject = getChildByName(myTargetName1);

if(event.target.dropTarget != null && event.target.dropTarget.parent == myTarget1)
        { 
            myTarget1.gotoAndStop(2);
            break;
        }
  }
}



På forhånd tak
Scorp-D
Avatar billede scorp-d Nybegynder
05. december 2007 - 09:49 #1
Hov det sidste kode skal erstattes af følgende:

function checkTarget(drag,type)
{
for(i =0;i<=23 ;i++)
{           
  if(drag.hitTest(_root["skidt"+i]))
  {
      tellTarget(_root["skidt"+i])
      {
          gotoAndStop(2);
      }
  }
}
}
Avatar billede nielle Nybegynder
05. december 2007 - 18:16 #2
Jeg tror at du er bedre hjulpet med at flytte dit spørgsmål til:

http://www.eksperten.dk/spm/Programmer/Flash/

Af en eller anden bizar grund har Flash aldrig været en underkategori af Programmerings kategorien her på Eksperten...
Avatar billede scorp-d Nybegynder
06. december 2007 - 15:33 #3
Okay... det vil jeg så gøre næste gang....

Fik selv løst problemet denne gang...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester