Avatar billede laseb Nybegynder
09. januar 2003 - 12:22 Der er 9 kommentarer

Indikator flytter sig til den markerede knap?

Hejsa.

Jeg har en række knapper i bunden af en side i Flash. Når man fører cursoren over en af knapperne, vil jeg gerne have en indikator til at drøne(!) hen til den markerede knap. Jeg har før læst om det, vist også her - men jeg kan DÆLME ikke finde det igen! Kan nogen hjælpe? Gerne en udførlig beskrivelse af, hvordan jeg gør... (Den skal glide vandret)

/Lasse
Avatar billede laseb Nybegynder
09. januar 2003 - 12:23 #1
... det sa’ hun osse i går...
Avatar billede alexander_j Nybegynder
09. januar 2003 - 13:43 #2
Din indikator skal være et movieclip med instancename 'indikator' og følgende kode:
onClipEvent (load) {
    x=100;//markere startplacering
}
onClipEvent (enterFrame) {
    this._x-=(this._x-x)/2;
}

Dine knapper skal have følgende kode:
on (rollOver) {
    indikator.x=100;//kommende an på deres placering
}

/Alexander
Avatar billede alexander_j Nybegynder
09. januar 2003 - 13:45 #3
eller sådan noget lignende :)
Avatar billede pyroman Nybegynder
11. januar 2003 - 14:41 #4
På dit indikator-MC:

onClipEvent (load) {
  _root.x = _x;
}
onClipEvent (enterFrame) {
  _x += _root.speed;
}

På dine knapper:

on (rollOver) {
  x = -tal-; //denne knaps midterste x-værdi
}

Hoved tidslinien:

if (indikator._x < x+3 and indikator._x > x-3) {
  speed = 0;
}else if (indikator._x < x) {
  speed = 4;
}else if (indikator._x > x) {
  speed = -4;
}

2. frame:

gotoAndPlay (1);

Det var det...

/Filip
Avatar billede f5 Nybegynder
11. januar 2003 - 14:42 #5
alexander_j, jeg har tilladt mig at lave nogle små justering i dit svar så det virker mere dynamisk :-) Så kan der flyttes rundt på knapperne uden at scriptet skal ændres....

onClipEvent (load) {
    x=knappensNavn._x//markere startplacering
}
onClipEvent (enterFrame) {
    this._x-=(this._x-x)/2;
}

Dine knapper skal have følgende kode:
on (rollOver) {
    indikator.x=this._x
}


/Michael
Avatar billede laseb Nybegynder
11. januar 2003 - 16:13 #6
Pyroman, jeg har forsøgt dit script, og jeg kan se mig ud af, at det er muligt at stille hastigheden. Jeg har forsøgt, men forøger jeg de tre speed-tal, hopper indikatoren frem og tilbage under den markerede knap - og det var jo ikke meningen. Men det må gerne være avanceret, f.eks. med acceleration.

Indtil videre er det dog kun alexanders der virker - men du har ikke lagt noget svar ind.

/Lasse
Avatar billede f5 Nybegynder
11. januar 2003 - 16:33 #7
Hej laseb,

Det jeg tror du spørg om er en klassikker i Flash, Altså at et MC skal slide hen mod et mål og langsomt miste fart og det skrive altid såddan her:


onClipEvent(enterFrame){
this._x += (mitTarget-this._x)/acceleration
}

hvor mitTarget er der hvor indikatoren skal ende og acceleration er hvor hurtigt den skal tabe fart - jo større dette tal jo langsommer tabes farten.

Til dit eksempel kunne det altså se således ud:

indikator script:

onClipEvent (load) {
    mitTarget = this._x;
}
onClipEvent (enterFrame) {
    this._x += (mitTarget-this._x)/5;
}

på knapperne:

on (rollOver) {
    _root.indikator.mitTarget = X_position;
}

hvor X_position er knappens xposition.

Mere skal der ikke til
Avatar billede alexander_j Nybegynder
11. januar 2003 - 17:07 #8
f5 --> ret du bare løs :)

laseb --> Her er et svar! Jeg venter næsten altid med at ligge et svar til jeg ved om spørgeren kan bruge mit svar!
I mit eksempel kan variere hastigheden ved at ændre 2-tallet i koden: this._x-=(this._x-x)/2; hold det mellem 1.5 og 5 - ellers ser f5's eksempel fint ud!
Avatar billede alexander_j Nybegynder
17. juni 2003 - 22:54 #9
På tide at lukke?
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