Avatar billede maqhem Nybegynder
11. november 2004 - 14:55 Der er 20 kommentarer og
1 løsning

Er det mon muligt?

Er det muligt at kalde en function til flere MC'er via en bestemt funcion? Jeg ved at det ikke beskriver serlig godt, men så tag dette eksembel:

Jeg er ved at lave en animation hvor jeg bruger functionen hitTest - og har nu i alle mine MC'er lavet endnu mindre MC'er i form af rektangler (For at få den bedste 'runde' form som er muglig at berøre med denne function, som jo er hitTest). Jeg har her omkring 20 MC'er i hvert MC. Nu er spørgsmålet så:
Er det muligt at lave en function så jeg kalder hitTest på alle MC på een gang? (Eksembelvis set variable: MC1+MC2+MC3+MC4+MC5 = MC1-5 i stedet for: MC1.hitTest(_root. bla bla) - I ved...)
Avatar billede maqhem Nybegynder
11. november 2004 - 14:57 #1
Sig endelig til, hvis der findes en anden function som er bedre end hitTest... På forhånd tak...
Avatar billede docks Nybegynder
11. november 2004 - 15:12 #2
hvis du navngiver dine MCer MC1, MC2...MC20 osv. så kunne du

for(i=1;1<21;i++){
if(this["MC"+1].hitTest(HITTEST KODE)){
mere kode her;
}
}

Noget i den retning?
Avatar billede rohaje Nybegynder
11. november 2004 - 15:24 #3
du kan pakke alle de små i et mc

kan køre hitTest på de små og en samlet på det overordnet mc

ellers som docks siger

function storHit(){
  test=false;

  for(i=1;1<21;i++){
    if(this["MC"+1].hitTest(HITTEST KODE)){
      test=true;
    }
    if(test){
      //så sker der noget;
    }
}
}
Avatar billede rohaje Nybegynder
11. november 2004 - 15:26 #4
hov der var en lille fejl

sådan

for(i=1;i<21;i++){
Avatar billede maqhem Nybegynder
11. november 2004 - 15:46 #5
Jeg kan altså ikke se hvor det går galt henne, men det er ikke muligt at kopiere koden ind i mit AC... Hva gør jeg forkert?
Avatar billede docks Nybegynder
11. november 2004 - 16:23 #6
Du skal jo fortælle hvornår og hvordan du vil kalde koden? Skal koden kaldes for hvert onEnterFrame? I så fald laver du bare et onClipEvent(enterFrame){} omkring koden og lægget det i et MC...
Avatar billede maqhem Nybegynder
11. november 2004 - 16:25 #7
Koden skal helst tælles hele tiden. Hvor skal koden så placeres for at få en optimal virkning?
Avatar billede pyroman Nybegynder
11. november 2004 - 16:30 #8
der er en mindre fejl:

if(this["MC"+1].hitTest(HITTEST KODE)){

der skal vel stå:

if(this["MC"+i].hitTest(HITTEST KODE)){


i ikke 1 ;)
Avatar billede docks Nybegynder
11. november 2004 - 17:29 #9
ja pyroman det er nice spottet ;)

Hvis det skal tjekke hitTest hele tiden så lægger du koden på et movieClip:

onClipEvent(enterFrame){
for(i=1;1<21;i++){
    if(:root.myMC["MC"+i].hitTest(HITTEST KODE)){
      test=true;
    }
    if(test){
      //så sker der noget;
    }
}
}
}
Avatar billede docks Nybegynder
11. november 2004 - 17:29 #10
onClipEvent(enterFrame){
for(i=1;1<21;i++){
    if(_root.myMC["MC"+i].hitTest(HITTEST KODE)){
      test=true;
    }
    if(test){
      //så sker der noget;
    }
}
}
}
Avatar billede maqhem Nybegynder
11. november 2004 - 19:33 #11
Kan stadig ik få det til at virke...
Avatar billede maqhem Nybegynder
11. november 2004 - 19:34 #12
Nogen idé om, hvad jeg skal lave om på, for at få det til at virke...
Avatar billede docks Nybegynder
11. november 2004 - 19:47 #13
prøv at uploade filen så vi kan kigge på det...
Avatar billede rohaje Nybegynder
11. november 2004 - 20:19 #14
action til frame 1

function testHit() {
    test=false;
    for (i=1; i<21; i++) {
        if (_root.targ["MC"+i].hitTest(_root.fly)) {
            test = true;
            trace(i);
            // bare for at teste de enkelte hit
            _root.targ["MC"+i]._alpha=50;
        }else{
            _root.targ["MC"+i]._alpha=100;
        }
    }
    if (test) {
        //en lille test med et tekst felt med instance navn "tekst"
        tekst.text="der er hit på en af MC'erne i targ";
    }else{
        tekst.text="der er ikke hit på nogle MC'erne i targ";
    }
       
}
onEnterFrame=testHit;
Avatar billede rohaje Nybegynder
11. november 2004 - 20:20 #15
(fik filen per mail)
Avatar billede maqhem Nybegynder
11. november 2004 - 21:05 #16
Vil du have point???
Avatar billede maqhem Nybegynder
11. november 2004 - 21:05 #17
så giv et svar... ;-)
Avatar billede pyroman Nybegynder
11. november 2004 - 21:40 #18
Rohaje: Hvad var så problemet?
Avatar billede rohaje Nybegynder
11. november 2004 - 21:54 #19
instance navne svarrede ikke til koden

if (_root.targ["MC"+i].hitTest(_root.fly)) {
Avatar billede rohaje Nybegynder
06. januar 2005 - 11:11 #20
tak for point :)
Avatar billede maqhem Nybegynder
06. januar 2005 - 17:32 #21
Det var så lidt. Det tog noget tid, men jeg skulle lige finde ud af, hvordan jeg gav point... hehe
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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