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.
Annonceindlæg fra Pax8
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.
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)
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\"...
22. august 2001 - 10:18
#4
ahh... det er en mulighed... det prøver jeg lige...
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
22. august 2001 - 10:49
#6
Det virker stadig ikke... må det dynamiske felt godt ligge i movie klippet, hvor knappen også er?
22. august 2001 - 11:02
#7
har prøvet on (press) { _root.point = Number(_root.point )+ 1; } også, og virker stadig ikke.. :/
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
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\".
22. august 2001 - 11:18
#10
send fil til guldfisk@stofanet.dk så kigger jeg på det
22. august 2001 - 11:23
#11
Ehh... skal der ske ? med trace...
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...
22. august 2001 - 11:28
#13
Virker stadig ikke...
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; }
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; }
22. august 2001 - 11:36
#16
hvorfor hulen vil du give feltet navnet _root.point??????
22. august 2001 - 11:37
#17
Aner det ikke, prøvede bare, og så virkede det...
22. august 2001 - 11:39
#18
Prøv at give det navnet point, uden at ændre andet ;)
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... !!! ???????
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
22. august 2001 - 11:46
#21
Det virker altså stadig ikke hvis jeg fjerner _root.
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\'
22. august 2001 - 11:52
#23
Det er underligt for det gør det når jeg gør det!
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...
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)
22. august 2001 - 11:59
#26
....svar, og takker :)
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
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!
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
22. august 2001 - 12:30
#30
Ja.. men hvad så når der en anden knap, som så skal give et point mere?
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; } }
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..:)
22. august 2001 - 12:38
#33
Hvor skal man lave _root.erKnappenBlevetTrykket = false???? Hvordan kan den kende forskel på knapperne?
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; } }
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\"; }
22. august 2001 - 14:57
#36
Jeg kan ikke få dit til at virke dikator...
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; }
Slettet bruger
22. august 2001 - 15:03
#38
Har du en mail, så kan jeg sende dig et eksempel....
22. august 2001 - 15:04
#39
te@wowern.com
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; }
22. august 2001 - 15:06
#41
Ok... skal knappen hedde noget? eller hva? der står jo _root_knap
22. august 2001 - 15:07
#42
how!! to@wowern.com !!! ikke te!
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\"
22. august 2001 - 15:41
#44
Hmm.. kan ikke få det til at virke i min. :(
22. august 2001 - 16:07
#45
Har sat det op præcis som i din, men det funker ikke... .. ?
22. august 2001 - 17:27
#46
>>phrozia, tjek din mail
22. august 2001 - 22:01
#47
root.clip.point+=1; ??? Hvorfor ikke bare: root.clip.point++;
22. august 2001 - 22:44
#48
_root.clip.point++; :-)
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 ???
23. august 2001 - 10:45
#50
Ja.. gør fandme hvad jeg kan.. Har har alt med! den tæller ikke point nej..
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!
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)
23. august 2001 - 11:04
#53
Tak.. din mail er?
Slettet bruger
23. august 2001 - 11:06
#54
admin@diktator.dk
23. august 2001 - 11:11
#55
Den er sendt.
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?
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..
23. august 2001 - 11:39
#58
Hvad så? er det mig der er helt glat på den, eller spasser flash ud? :)
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...
23. august 2001 - 11:57
#60
Men spørg løs i en ny tråd ;)
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
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å...
23. august 2001 - 13:04
#63
hmm.. det var en masse... :) nå.. jeg prøver...
23. august 2001 - 14:14
#64
Done.. Men nu virker mouse.drag ikke?
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..
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?
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 :-)
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...
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. :)
Slettet bruger
23. august 2001 - 15:32
#70
Jeg har sendt dig en fil ...
23. august 2001 - 22:22
#71
Ja.. det ved jeg.. men jeg er bare mega forvirret...! hehe... :)
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...?
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?
24. august 2001 - 09:52
#74
Diktator, laver du et svar?
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 :·)
Slettet bruger
24. august 2001 - 09:59
#76
Jeg svarer ikke, jeg kommenterer kun ;-)
24. august 2001 - 10:02
#77
Ehh.. Hvorfor?
24. august 2001 - 10:05
#78
så må jeg jo tage de 100 tilbage...
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
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..?
24. august 2001 - 10:17
#81
Det er bare \"alles in ordnung\" du! ;)
24. august 2001 - 10:19
#82
Eller skal jeg lige oprette et nyt spm?
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.
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.. :)
Slettet bruger
24. august 2001 - 11:30
#85
Velbekomme -
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.