15. januar 2002 - 10:55Der er
3 kommentarer og 2 løsninger
Hvordan?? (Haster)
Hey! Hvordan laver jeg dette?
Jeg har 5 knapper på min hjemmeside som er lavet i flash. Knapperne er placeret øverst og på række. Jeg øsnker så at når jeg trykker på dem skal den knap man nu har trykket på flyve ned i bunden og blive der. Hvis jeg fx trykker på knap nr. 1 flyver den ned. uanset hvilken knap man så trykker på skal knap nr. 1 flyve op igen inden den valgte knap flyver ned og det skal så gælde alle knapper.
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
Først skal alle knapperne laves sættes ind i hver sit movieClip - der er nødvendigt for at kunne scripte til deres position. Disse skal så placeres i _root med fortløbende navne - fx Knap1, Knap2, Knap3, Knap4 og Knap5... Inden i disse på knapperne sætter vi så følgende action:
on (release) { _root.script.click(_name); }
Altså direkte som ovenstående.
Ude i _root laver du et nyt layer. I dette indsætter du et nyt tomt movieClip og kalder det for \"script\" (det navn blev jo brugt på knapperne). På dette skriver du:
onClipEvent (load) { selected = 0; active = 0; frames = 10; //frames til tween target_x = 100; // slutposition x target_y = 100; // slutposition y target_scale = 50; //slut-skalering i procent; function click(btn) { if (btn ne selected) { active = 1; if (!selected) { frame = frames-1; start_x = _root[btn]._x; start_y = _root[btn]._y; selected = btn; } else { frame = 0; next = btn; } } } onClipEvent(enterFrame) { if (active) { if (frame < frames) { _root[selected]._x = target_x-(target_x-start_x)*frame/frames; _root[selected]._y = target_y-(target_y-start_y)*frame/frames; } else { _root[selected]._x = start_x+(target_x-start_x)*(frame-frames)/frames; _root[selected]._y = start_y+(target_y-start_y)*(frame-frames) /frames; } frame++; if (frame == frames) { selected = next; start_x = _root[selected]. _x; start_y = _root[selected]. _y; } else if (frame == 2*frames) { active = 0; } } }
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.