Avatar billede phrozia Juniormester
22. august 2001 - 10:11 Der er 82 kommentarer og
3 løsninger

Variabel + 1

Hejsa..

nu har jeg lavet en mouse.drag (http://www.eksperten.dk/spm/98415) og nu hvis jeg klikker på en knap, virker det ikke.. hvad er der galt?

frame 1 siger:

root.point = 0

og knappen siger:

on (press) {
    root.point = root.point + 1;
}

og så har jeg et tekstfelt som er dynamisk og hedder

root.point

Hvorfor %&¤%\" tæller den ikke? jeg har lavet det i en anden flash fil, der virker det fint.

Jeg har også prøvet uden root.
Avatar billede pixelpaw Nybegynder
22. august 2001 - 10:15 #1
Måske har du ikke centreret det grafik du har i det MC du dragger? Så vil din (usynlige)mus ikke være det sted du egentlig tror, fordi musen er centreret til MC\'et. I dit MC er der et lille +, det er centrum af dit MC, placer din grafik dér.
Avatar billede pixelpaw Nybegynder
22. august 2001 - 10:17 #2
en anden ting det kunne være:

i din kode mangler du en masse _ før root

_root.point = 0

on (press) {
  _root.point = _root.point +1;
}

og dit tekstfelt du har liggende i _root, skal bare hedde
point (uden _root)
Avatar billede phrozia Juniormester
22. august 2001 - 10:17 #3
Det er også der...

Men, jeg fik af vide at man skulle sætte det uden for flashet.. og så når man bevæger musen, kom den \"selv på plads\"...
Avatar billede phrozia Juniormester
22. august 2001 - 10:18 #4
ahh... det er en mulighed... det prøver jeg lige...
Avatar billede Slettet bruger
22. august 2001 - 10:20 #5
Det hedder \' _root\' , ikke \'root\' !!

_root.point = 0

on (press) {
    _root.point = Number(_root.point )+ 1;
}

Http://diktator.dk
Avatar billede phrozia Juniormester
22. august 2001 - 10:49 #6
Det virker stadig ikke...  må det dynamiske felt godt ligge i movie klippet, hvor knappen også er?
Avatar billede phrozia Juniormester
22. august 2001 - 11:02 #7
har prøvet

on (press) {
    _root.point = Number(_root.point )+ 1;
}

også, og virker stadig ikke.. :/
Avatar billede Slettet bruger
22. august 2001 - 11:09 #8
Prøv at trace din point og se om den tæller;

on (press) {
    _root.point = Number(_root.point)+1;
    trace (_root.point);
}

Hvis den gør det, er det dit dynamiske txt felt det er galt med. Tjek om stien er rigtig ...

_root.point
Avatar billede mat Nybegynder
22. august 2001 - 11:16 #9
Det gør ingen forskel om textfieldet ligger i movieclippet bare du definerer stien rigtigt....den helt simple:

on (press) {
    _root.clip.point+=1;
}

(lad være med at skrive noget i textfeltet)...
Her ligger textfieldet i mc´et \"clip\".
Avatar billede pixelpaw Nybegynder
22. august 2001 - 11:18 #10
send fil til guldfisk@stofanet.dk
så kigger jeg på det
Avatar billede phrozia Juniormester
22. august 2001 - 11:23 #11
Ehh... skal der ske ? med trace...
Avatar billede phrozia Juniormester
22. august 2001 - 11:24 #12
ok.. måske derfor...

Har det nogen betydning om det ligger i scener?

alt det her, ligger i sammen scene...
Avatar billede phrozia Juniormester
22. august 2001 - 11:28 #13
Virker stadig ikke...
Avatar billede mat Nybegynder
22. august 2001 - 11:34 #14
Hvordan har du lavet dit dynamiske textfelt? variable hedder i mit ex. point. tryk på 123 ....movieclippet hvor det ligger har instancenavnet clip, der er ikke skrevet noget i feltet. og jo så virker:

on (press) {
    _root.clip.point+=1;
}

 
Avatar billede phrozia Juniormester
22. august 2001 - 11:34 #15
sådan!

nu virker det..

dynamisk tekst felt: _root.point

frame 1: _root.point = \"0\";

Knappen:

on (press) {
    _root.point = Number(_root.point)+1;
}
Avatar billede mat Nybegynder
22. august 2001 - 11:36 #16
hvorfor hulen vil du give feltet navnet _root.point??????
Avatar billede phrozia Juniormester
22. august 2001 - 11:37 #17
Aner det ikke, prøvede bare, og så virkede det...
Avatar billede mat Nybegynder
22. august 2001 - 11:39 #18
Prøv at give det navnet point, uden at ændre andet ;)
Avatar billede phrozia Juniormester
22. august 2001 - 11:40 #19
Og så fjernede jeg det, så virkede det ikke..
så skrev jeg det på igen, og nu virker fandme ikke...

hvad er det for noget fis... !!!

???????
Avatar billede phrozia Juniormester
22. august 2001 - 11:43 #20
how.. nu fandt jeg vist fejlen..

det lå andre ting (to almindelige tekste felter) i det layer hvor tekste feltet var, nu ligger det alene, og nu virker det..

feltet hedder stadig _root.point
Avatar billede phrozia Juniormester
22. august 2001 - 11:46 #21
Det virker altså stadig ikke hvis jeg fjerner _root.
Avatar billede Slettet bruger
22. august 2001 - 11:50 #22
Hvis du fjerner _root, skal du bruge;

on (press) {
    _root.clip.point+=1;
}

- fordi variablen er erklæret inde i dit MC.
På den anden måde har du globaliseret din variable, og skal derfor referere til _root både når du henter og opdaterer din \'point\'
Avatar billede mat Nybegynder
22. august 2001 - 11:52 #23
Det er underligt for det gør det når jeg gør det!

Avatar billede phrozia Juniormester
22. august 2001 - 11:55 #24
Ahh.. det er nok derfor så...

det er nok fordi det ligger i et clip..

gør det også det mat?

hey, mat og diktator smid lige et svar, så deler i pointene.. alle har jo været med til at komme frem til svaret...
Avatar billede mat Nybegynder
22. august 2001 - 11:58 #25
>>diktator, jeg har lige lavet hans eks. *uden* variabel(i textfeltet) _root ....og det virker fint..._root. er en sti ikke et navn eller....:) (jeg er glad)
Avatar billede mat Nybegynder
22. august 2001 - 11:59 #26
....svar, og takker :)
Avatar billede Slettet bruger
22. august 2001 - 12:07 #27
Lækkert mat ;-)
Men jeg holder stadig på at det har sine fordele at globalisere sine variable... især når det gælder point styring. Sæt nu han i næste level vil unloade hans movieclip ... 8·D
Avatar billede phrozia Juniormester
22. august 2001 - 12:08 #28
Nu vi er i gang...

Kan man gøre sådan at den kun giver 1 point, selv om man trykker 20 gange på knappen?

Jeg skal nok afsætte flere points, hvis nogen kan svare!

Avatar billede mat Nybegynder
22. august 2001 - 12:27 #29
du kan da bare lave tælleren som et mc med to frames, iden ene skriver du 0 og i den anden skriver du 1. Sæt en stop i den første. I din knap:
on (release) {
    _root.clip.gotoAndStop (2);
}

Så kan man trykke 20000 gange men man kommer ikke videre...heheheheheheh old school
Avatar billede phrozia Juniormester
22. august 2001 - 12:30 #30
Ja.. men hvad så når der en anden knap, som så skal give et point mere?
Avatar billede pixelpaw Nybegynder
22. august 2001 - 12:30 #31
dette laver du et eller andet sted
_root.erKnappenBlevetTrykket = false

på knappen:

on(release){
  if(not _root.erKnappenBlevetTrykket){
    _root.point++;
    _root.erKnappenBlevetTrykket = true;
  }
}
Avatar billede mat Nybegynder
22. august 2001 - 12:33 #32
>>phrozia, det kan faktisk stadig løses med simple goto´s, men jeg ville nok benytte en decideret scriptet løsning som paws....Den er mere holdbar på sigt..:)
Avatar billede phrozia Juniormester
22. august 2001 - 12:38 #33
Hvor skal man lave _root.erKnappenBlevetTrykket = false????

Hvordan kan den kende forskel på knapperne?
Avatar billede pixelpaw Nybegynder
22. august 2001 - 12:46 #34
Du kan lave variablen i en frame på din scene.

Hvis du har mange knapper, kunne du definere variablen med et tal:
erKnappenBlevetTrykket1 = false; //på knap 1
erKnappenBlevetTrykket2 = false; //på knap 2
så skal du bare huske at ændre koden på knapperne:
on(release){
  if(not _root.erKnappenBlevetTrykket1){
    _root.point++;
    _root.erKnappenBlevetTrykket1 = true;
  }
}
og
on(release){
  if(not _root.erKnappenBlevetTrykket2){
    _root.point++;
    _root.erKnappenBlevetTrykket2 = true;
  }
}
Avatar billede Slettet bruger
22. august 2001 - 13:27 #35
Det kan gøres meget nemmere...

Lav et tomt MC og giv det denne kode;

onClipEvent (enterFrame) {
    if (_root.knap ne _root.LastSubmit) {
        _root.point = Number(_root.point)+1;
    }
    _root.LastSubmit = _root.Knap;
}


Dine knapper giver du så denne her kode, hvor du bare udskifter =\"1\"  med 2,3,4 osv for hver knap.

on (press, release) {
    _root.knap = \"1\";
}

Avatar billede phrozia Juniormester
22. august 2001 - 14:57 #36
Jeg kan ikke få dit til at virke dikator...
Avatar billede phrozia Juniormester
22. august 2001 - 15:03 #37
onClipEvent (enterFrame) {
    if (_root.knap ne _root.LastSubmit) {      <---- noget galt? knap ne _root ???
        _root.point = Number(_root.point)+1;
    }
    _root.LastSubmit = _root.Knap;
}
Avatar billede Slettet bruger
22. august 2001 - 15:03 #38
Har du en mail, så kan jeg sende dig et eksempel....
Avatar billede phrozia Juniormester
22. august 2001 - 15:04 #39
te@wowern.com
Avatar billede Slettet bruger
22. august 2001 - 15:05 #40
ne betyder Not Equal - kan også skrives !=

onClipEvent (enterFrame) {
    if (_root.knap != _root.LastSubmit) {   
        _root.point++;
    }
    _root.LastSubmit = _root.Knap;
}
Avatar billede phrozia Juniormester
22. august 2001 - 15:06 #41
Ok... skal knappen hedde noget?
eller hva?

der står jo _root_knap

Avatar billede phrozia Juniormester
22. august 2001 - 15:07 #42
how!!

to@wowern.com !!! ikke te!
Avatar billede Slettet bruger
22. august 2001 - 15:18 #43
&%€# fik sendt den til te ....

- Nå, men du kan finde den på http://diktator.dk -> Surfers Archive.
Filen hedder  \"CountOnlyOnce\"
Avatar billede phrozia Juniormester
22. august 2001 - 15:41 #44
Hmm.. kan ikke få det til at virke i min. :(
Avatar billede phrozia Juniormester
22. august 2001 - 16:07 #45
Har sat det op præcis som i din, men det funker ikke...

.. ?
Avatar billede mat Nybegynder
22. august 2001 - 17:27 #46
>>phrozia, tjek din mail
Avatar billede nikolajdu Nybegynder
22. august 2001 - 22:01 #47
root.clip.point+=1; ???

Hvorfor ikke bare:

root.clip.point++;
Avatar billede nikolajdu Nybegynder
22. august 2001 - 22:44 #48
_root.clip.point++;

:-)
Avatar billede Slettet bruger
23. august 2001 - 08:30 #49
Kom nu phrozia ... tag dig lidt sammen ;-)

Du må have glemt noget af koden...
Har du lavet en \"onClipEvent (enterFrame)\" på et MC ??? Hvori ligger din fejl - tæller den ikke point, eller hva’ sker der ???
Avatar billede phrozia Juniormester
23. august 2001 - 10:45 #50
Ja.. gør fandme hvad jeg kan..

Har har alt med!

den tæller ikke point nej..
Avatar billede phrozia Juniormester
23. august 2001 - 10:54 #51
Har lige prøve det du sendte, mat, og det er præcis det samme, og det virker hellere ikke... sådan noget LORT!
Avatar billede Slettet bruger
23. august 2001 - 10:58 #52
Du kan sende din .fla - så skal jeg fortælle dig hvor du nosser i det....  :o)
Avatar billede phrozia Juniormester
23. august 2001 - 11:04 #53
Tak.. din mail er?
Avatar billede Slettet bruger
23. august 2001 - 11:06 #54
admin@diktator.dk
Avatar billede phrozia Juniormester
23. august 2001 - 11:11 #55
Den er sendt.
Avatar billede mat Nybegynder
23. august 2001 - 11:14 #56
Hvis du publisher min fil vil du se at den virker fint. Du overser bare et eller andet.
Fandt du det \"usynlige\" mc?

Avatar billede phrozia Juniormester
23. august 2001 - 11:18 #57
Jaja.. har skam testet.
og ja..

Jeg har lagt det tilsvarende i min fil, men det funker bare nitte..
Avatar billede phrozia Juniormester
23. august 2001 - 11:39 #58
Hvad så? er det mig der er helt glat på den, eller spasser flash ud? :)
Avatar billede Slettet bruger
23. august 2001 - 11:54 #59
Du har et problem med din curser.
Den registrerer ikke at det er en knap der skal aktiveres;

Prøv at fjerne
Mouse.hide();
startDrag (\"_root.maincursor\", true);
i frame 10, og det vil virke.

Jeg vil foreslå dig at lave dine objekter som Movieclips istedet for knapper og lave en HitTest funktion på din curser...
Avatar billede mat Nybegynder
23. august 2001 - 11:57 #60
Men spørg løs i en ny tråd ;)
Avatar billede Slettet bruger
23. august 2001 - 12:34 #61
Ok - her er lidt kode til inspiration;

Din curser (MC) skal udstyres med lidt kode:

onClipEvent (load) {
// her skriver du hvor mange (targets)objekter der er i spillet
AntalObjekter = 10;
}
onClipEvent (enterFrame) {
    for (h=0; h<AntalObjekter; h++) {
        MyObjekt = \"_root.filmen.dajm\"+h;
        if (eval (MyObjekt).hitTest( This )==true && _root.shooting eq true) {
            CurrentSubmit = h;
            if (CurrentSubmit != _root.LastSubmit) {
                _root.point++;
            }
            _root.LastSubmit = CurrentSubmit;
        }
    }
}

Din curser har en Onpress kode. Den skal tilføjes lidt ekstra:

on (press) {
    _root.shooting = true;
    gotoAndStop (2);
}
on (release) {
    _root.shooting = false;
    gotoAndStop (1);
}

Så skal du give dit movieclip \'TimeAction\' et instance name: \"filmen\" og alle dine objekter skal hedde \"dajm1\" \"dajm2\" \"dajm3\" osc. osv.

Prøv at gennemskue det, og spørg bare hvis der er problems :)

http://diktator.dk
Avatar billede phrozia Juniormester
23. august 2001 - 12:45 #62
Hmm.. før vi lavede det sådan, at man kun måtte trykken 1 gang, virkede tælleren fint, også med drag på...
Avatar billede phrozia Juniormester
23. august 2001 - 13:04 #63
hmm.. det var en masse...
:)

nå.. jeg prøver...
Avatar billede phrozia Juniormester
23. august 2001 - 14:14 #64
Done..

Men nu virker mouse.drag ikke?
Avatar billede phrozia Juniormester
23. august 2001 - 14:19 #65
For at give mine knapper et instanve name skal det være et Mc, og så kan man ikke give den onpress!

argh..

erhm.. hør her.. du får 100 point oven i hvis du giver lavet det så der virker med mouse.drag, lyd når man trykker og så point..
Avatar billede mat Nybegynder
23. august 2001 - 14:25 #66
og hvad skal du så lave? ;)

Du ligger bare dine knapper i et mc.....

Du har formentlig slettet koden for drag idet du skrev det ovenstående ind i din fil, eller?
Avatar billede Slettet bruger
23. august 2001 - 14:31 #67
Du skal ikke bruge din Onpress funktion mere på dine objekter. det sørger din custom-curser for at registrere;

on (press) {
    _root.shooting = true;
    gotoAndStop (2);
}
on (release) {
    _root.shooting = false;
    gotoAndStop (1);
}

Du skal heller ikke bruge det \'gamle\' MC, der tjekker for dine knapper, det sørger scriptet på din curser for....

Det eneste dine Objekter skal indeholde er et instance name; dajm1, dajm2 osv.

Jeg kan godt sende din fil tilbage der virker, men det lærer du jo ikke noget af :-)
Avatar billede phrozia Juniormester
23. august 2001 - 14:32 #68
resten af det.. :) der er masser...

ved ikke... jeg synes satme snart det er så rodet.. :)

hmm... ind i et mc..?

man ender jo med 334214 Mc\'s...
Avatar billede mat Nybegynder
23. august 2001 - 14:38 #69
>>phrozia, at lave spil (jeg gætter på det er det du er i gang med) er en kompliceret affære.  :)
Avatar billede Slettet bruger
23. august 2001 - 15:32 #70
Jeg har sendt dig en fil ...
Avatar billede phrozia Juniormester
23. august 2001 - 22:22 #71
Ja.. det ved jeg..

men jeg er bare mega forvirret...!

hehe... :)
Avatar billede phrozia Juniormester
24. august 2001 - 09:30 #72
Og det virker jo bare! :)

men, jeg kan sq godt nok ikke lige se hvor scriptet ligger på kasserne...?
Avatar billede phrozia Juniormester
24. august 2001 - 09:46 #73
Correct me if I\'m wrong...

Koden til tælleren ligger i Cursor\'ens MC\'s Actions?

og så når man klikker, registere cursor\'en hvad man klikker på, og hvis det er et MC, som hedder dajmX, får man et point.

Så der er faktisk ikke noget kode i \"knappern\'s\" MC, men kun et navn?
Avatar billede phrozia Juniormester
24. august 2001 - 09:52 #74
Diktator, laver du et svar?
Avatar billede Slettet bruger
24. august 2001 - 09:59 #75
Ja, scriptet ligger på curserens MC. Den registrerer hvis den er i kontakt med et movieclip der har instance name dajm1 til dajm10.

if (eval (MyObjekt).hitTest( This )==true

Samtidigt tjekker scriptet om der bliver trykket på musen.

&& _root.shooting eq true)

Hvis der gør det tilskriver den 1 point til scoren og registrerer hvilket MC der afgav pointet.

CurrentSubmit = h;
            if (CurrentSubmit != _root.LastSubmit) {
                _root.point++;
            }
         

Der bliver derefter sat en variable med pågældende instance name, så dette ikke kan afgive flere points

_root.LastSubmit = CurrentSubmit;

.... That’s it :·)
Avatar billede Slettet bruger
24. august 2001 - 09:59 #76
Jeg svarer ikke, jeg kommenterer kun ;-)
Avatar billede phrozia Juniormester
24. august 2001 - 10:02 #77
Ehh.. Hvorfor?
Avatar billede phrozia Juniormester
24. august 2001 - 10:05 #78
så må jeg jo tage de 100 tilbage...
Avatar billede phrozia Juniormester
24. august 2001 - 10:11 #79
Jeg takker alle som har deltaget i dette mega spørgsmål, og som du den tid at få mig til at fatte det! :)

hehe
Avatar billede phrozia Juniormester
24. august 2001 - 10:16 #80
hmm.. har faktisk lige en spørgsmål mere...

i cursoren\'s mc ligger koden,

onClipEvent (load) {
    AntalObjekter = 10;
}
onClipEvent (enterFrame) {
    for (h=0; h<AntalObjekter; h++) {
        MyObjekt = \"_root.filmen.dajm\"+h;
        if (eval (MyObjekt).hitTest( This )==true && _root.shooting eq true) {
            CurrentSubmit = h;
            if (CurrentSubmit != _root.LastSubmit) {
                _root.point++;
            }
            _root.LastSubmit = CurrentSubmit;
        }
    }
}


kan man tilføje en stump, så hvis man klikker på et mc som hedder forkert, så giver den minus et point..?
Avatar billede mat Nybegynder
24. august 2001 - 10:17 #81
Det er bare \"alles in ordnung\" du!  ;)
Avatar billede phrozia Juniormester
24. august 2001 - 10:19 #82
Eller skal jeg lige oprette et nyt spm?
Avatar billede Slettet bruger
24. august 2001 - 11:20 #83
Nu strammer du den sg* :-)
Det burde du da selv kunne finde ud af nu..... eller ??

onClipEvent (load) {
    AntalObjekter = 10;
    AntalForkerteObjekter = 10;
}
onClipEvent (enterFrame) {
    for (h=0; h<AntalObjekter; h++) {
        MyObjekt = \"_root.filmen.dajm\"+h;
        if (eval (MyObjekt).hitTest( This )==true && _root.shooting eq true) {
            CurrentSubmit = h;
            if (CurrentSubmit != _root.LastSubmit) {
                _root.point++;
            }
            _root.LastSubmit = CurrentSubmit;
        }
    }
    for (d=0; d<AntalForkerteObjekter; d++) {
        ForkertObjekt = \"_root.filmen.Forkert\"+d;
        if (eval (ForkertObjekt).hitTest( This )==true && _root.shooting eq true) {
            CurrentForkertSubmit = d;
            if (CurrentForkertSubmit != _root.LastForkertSubmit) {
                _root.point--;
            }
            _root.LastForkertSubmit = CurrentForkertSubmit;
        }
    }
}

Så laver du objekter der hedder Forkert1, Forkert2, Forkert3 osv. osv.
Avatar billede phrozia Juniormester
24. august 2001 - 11:28 #84
Ja... men ville ikke fucke det op. :)

Jeg har lavet en del i flash, men ikke rigtig sådan noget hvor man kan deltage i det selv..
har mere lavet demo\'er som bare skal køre fra frame 1 til x. :)

Men tak for sva... kommentaren.. :)
Avatar billede Slettet bruger
24. august 2001 - 11:30 #85
Velbekomme -
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