21. februar 2002 - 02:21Der er
22 kommentarer og 1 løsning
Trace OnClick mm.
Halløj..
Hvordan kan jeg trace, om hvorvidt brugeren har trykket på en knap eller ej?
1. Lad os sige der er to knapper der fører et vilkårligt sted hen - jeg er i første omgang kun interesseret i at samle data om hvilken af de to knapper brugeren har trykket på.
(Og lige et bi-spørgsmål: kan man navngive en knap? Det kan man vel..)
2. Lad os sige jeg har en film der ialt består af 30 knapper. Hvor simpelt kan jeg lave en variabel, der alt efter hvilke knapper der er trykket på i en given rækkefølge, skriver en unik værdi jf. brugerens vej gennem sitet?
Med andre ord, jeg er ude på at vide noget om hvordan man bedst kan samle data om brugerens færden, så jeg har mulighed for at få min film til at virke semi-intellingent..
100 ekspertenbananer er i første omgang på højkant :)
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Rigtig nice lavet pixelpaw! Jeg takker også lige for din metode :0)
Jeg ville lige nævne noget mht. at navngive buttons. Så vidt jeg da ved er det ikke muligt at navngive dem direkte, men for at simulere det, kan du 'pakke hver knap ind' i et mc og benytte dets instancenavn. Lad os sige, at alle dine knapper ligger i et instance af et mc hver (med samme knap), og disse navngiver du så knap1, knap2 ... knap29, knap30. Action på din knap, jvf. pixelpaw's eksempel, kan så være
on (release) { _root.addButton(_name.slice(4)); }
_name henviser til det mc i hvis timeline knappen er placeret. Det var bare en sidebemærkning, jeg tror du har rigeligt spændende i paw's stuff ;0)
Hey. Ja, det gør det, helt sikkert! Jeg håber you dont' mind hvis jeg lige lader spørgsmålet stå lidt endnu; desuden har jeg heller ikke Flash lige her, så jeg kan afprøve det, men det ser virkeligt lovende ud! :)
_name refererer til det jeg vælger at kalde MC'et som knappen ligger i, som du siger. Hvad er slice, så? Og hvad med 4-tallet? Og variablen addButton, den findes da ikke oppe i Pixelpaws script?
Undskyld, hvis jeg spør' som en sinke, men der altså stadigvæk nogen huller i min actionscripting-kunnen, som irretere mig og som åbenbart gør at jeg ikke helt forstår hvordan det EGENTLIG fungere.. :)
slice() en en String-metode, der slicer strengen i stykker... Lidt som substr() eller substring()... Her slicer den strengen i stykker fra det fjerde tegn og frem...
Da _name er "knap0" til "knap30", så vil slice(4) give "0" til "30"...
Bare lidt smartere, så du ikke skal lave 30 forskellige knapper, men kun én med den samme kode kopieret 30 gange... eller rettere indsat en gang i et MC kopieret 30 gange og navngivet...
addButton(); er en funktion pixelpaw definerer for at styre det dynamiske array hvori knappernes værdier bliver placeret. Den funktion har et parameter, som paw har defineret som Number(intButton). Ved at slice navnet på movieclippet (i.e. knap30 bliver 30) og indsætte det som parameter i paw's funktion, bliver det pågældende array index (styret af variablen iButtons med ++ operatoren) tildelt værdien/nummeret på knappen. Paw's funktion er her:
function addButton (Number(intButton)) { arrButtonsPressed[iButtons] = intButton; iButtons++; }
Et eksempel, hvis der trykkes på knap 30 som den første vil funktionen se således ud:
function addButton (_name.slice(4))) { arrButtonsPressed[0] = 30; iButtons++; }
Hvorefter arrayet arrButtonsPressed har værdien 30 i sit første index, hvilket er 0. iButtons har nu værdien 1, dvs. næste gang en knap trykkes på (vi siger knap 21) vil arrButtonsPressed index 2 have værdien af den nye knap, nemlig 21.
Det vil sige efter at brugeren har været på siden et stykke tid, vil der efterhånden opstå et array der lyder noget i stil med:
arrButtons: index1=2 index2=56 index3=32 index4=3
Eksempektvis..?
Se, jeg véd slet ikke hvordan dether array vil komme til at se ud. Hvordan kan jeg komme til det?
Derudover, hvordan kan jeg sige noget i stil med:
If arrButtons=4, then goTo frame 4 ? (altså, hvis brugeren har trykket på knap fire, så skal han gå til en anden frame - og hvis brugeren har trykket en bestemt sekvens af knapper, skal han sendes et andet sted hen..?)
Kan jeg så også sige: OnClick for (i=0;i<_root.arrButtons.length;i++) { if (arrButtons[i] = 3,7,43,39) { GoTo frame 4 } }
Jeg sprøger her om to ting: 1:Kan man indsætte dette dit script på en knap á la den måde jeg har forsøgt at vise her med lidt seudokode?
2: Kan jeg skrive en præcis rækkefølge i scriptet, så hvis kun denne rækkefølge er opfyldt, vil den være sand? (Jeg mener her rækkefølgen af numrerne og ikke kun tallenes enkeltstående værdier)
Hvis du kræver flere point må du endelig sige til. Jeg er meget tæt på at få lige dét jeg ønsker mig, her, efter jeg har fået svar på mine to sidste spørgsmål.. :)
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.