Avatar billede zakiller Nybegynder
16. juni 2003 - 20:38 Der er 14 kommentarer og
1 løsning

Markering skal huske palcering

Jeg har følgende fil:  www.zakir.dk/eksperten/follow.fla

Hvis man trykker på en knap og bevæger musen ind i feltet igen, så bevæger pilen sig ganske som jeg ønsker, men hvis man fjerner musen igen så skal den smutte hen til den knap man har trykket på....skal man smide nogle variabler ind i de swf'er man loader....eller...?

;)
Avatar billede hoejrup Nybegynder
16. juni 2003 - 22:00 #1
Kan du ikke bare sætte to variabler, når du trykker knappen ned?

startDrag ("/tracker", true);
xvar = _root.tracker._x;
yvar = _root.tracker._y;

/tracker er et usynligt mc med instance navnet tracker

/per
Avatar billede mat Nybegynder
16. juni 2003 - 22:15 #2
Hvornår må din markør så begynde at bevæge sig igen, hvis den ikke længere må på rollOver på knapperne, jeg forstår ikke helt?

Skal den bevæge sig til knapperne når man roll´er over indtil der er trykket på en, og så skal den kun reagere på press efter det?

mvh mat
Avatar billede alexander_j Nybegynder
16. juni 2003 - 23:40 #3
http://home19.inet.tele.dk/sirvival/follow.html er det sådan her du vil ha' den?
Avatar billede alexander_j Nybegynder
17. juni 2003 - 00:12 #4
Princippet i det jeg har lavet(+en optimering af kode -efter min mening) kan du se ved at ligge dette i frame 1 i en tom flashfilm:

//lav mc_cursor
this.createEmptyMovieClip ("mc_cursor", 100);
    with (this.mc_cursor){
        beginFill (0x0000FF, 100);
        moveTo (-10,0);
        lineTo (10,0);
        lineTo (0,20);
        lineTo (-10,0);
        endFill();
}
//flyt mc_cursor
this.onEnterFrame=function(){
    if(hit!=true){
        x=_root._xmouse;
    }else{
        x=xclick;
    }
    mc_cursor._x += (x - mc_cursor._x)/5;
}
//Knapper
for(i=0;i<3;i++){
    //Lav knapper
    this.createEmptyMovieClip ("bu_"+i, i);
    with (this["bu_"+i]){
        beginFill (0xFF0000, 100);
        moveTo (-50,0);
        lineTo (50,0);
        lineTo (50,25);
        lineTo (-50,25);
        lineTo (-50,0);
        endFill();
    }
    this["bu_"+i]._x=i*150;
    this["bu_"+i]._y=25;
    //knapfunktioner
    this["bu_"+i].onPress=function(){
        hit=true;
        xclick=this._x;
    }
    this["bu_"+i].onRollOver=function(){
        hit=false;
    }
    this["bu_"+i].onRollOut=function(){
        if(xclick!=undefined)hit=true;
    }
}
Avatar billede zakiller Nybegynder
17. juni 2003 - 12:08 #5
alexander >> jeg tror du har fat i det helt rigtige, men når man har trykket på en knap skal man kunne bevæge musen (og dermed pilen) rundt i hele menuen uden at den ryger tilbage - det skal først ske når man flytter musen ud fra "menuområdet".

;)
Avatar billede mat Nybegynder
17. juni 2003 - 12:25 #6
Du har en hitTest på hele området ikke sandt?

Sæt en lastKnownX variabel på din knapper og smid en else på din hitTest hvor targetX så bliver sat til lastKnownX - det burde virke :)

mvh mat
Avatar billede zakiller Nybegynder
17. juni 2003 - 12:37 #7
Kan du vise det med en samlet kode MAT, eller en fla - jeg er nødt til at se det for mig før jeg forstår det.

;)
Avatar billede alexander_j Nybegynder
17. juni 2003 - 12:50 #8
//lav menuområde
this.createEmptyMovieClip ("mc_menu", 0);
with (this.mc_menu){
    beginFill (0xFFF000, 100);
    moveTo (0,0);
    lineTo (400,0);
    lineTo (400,50);
    lineTo (0,50);
    lineTo (0,0);
    endFill();
}
this.mc_menu.onRollOver=function(){
    hit=false;
}
this.mc_menu.onRollOut=function(){
    hit=true;
}
//lav mc_cursor
this.createEmptyMovieClip ("mc_cursor", 100);
    with (this.mc_cursor){
        beginFill (0x0000FF, 100);
        moveTo (-10,0);
        lineTo (10,0);
        lineTo (0,20);
        lineTo (-10,0);
        endFill();
}
//flyt mc_cursor
this.onEnterFrame=function(){
    if(hit!=true){
        x=_root._xmouse;
    }else{
        x=xclick;
    }
    mc_cursor._x += (x - mc_cursor._x)/5;
}
//Knapper
for(i=1;i<4;i++){
    //Lav knapper
    this.createEmptyMovieClip ("bu_"+i, i);
    with (this["bu_"+i]){
        beginFill (0xFF0000, 100);
        moveTo (-50,0);
        lineTo (50,0);
        lineTo (50,25);
        lineTo (-50,25);
        lineTo (-50,0);
        endFill();
    }
    this["bu_"+i]._x=i*110;
    this["bu_"+i]._y=12.5;
    //knapfunktioner
    this["bu_"+i].onPress=function(){
        hit=true;
        xclick=this._x;
    }
    this["bu_"+i].onRollOver=function(){
        hit=false;
    }
}
Avatar billede alexander_j Nybegynder
17. juni 2003 - 12:56 #9
eller måske endnu nemmere:

//lav mc_cursor
this.createEmptyMovieClip ("mc_cursor", 100);
    with (this.mc_cursor){
        beginFill (0x0000FF, 100);
        moveTo (-10,0);
        lineTo (10,0);
        lineTo (0,20);
        lineTo (-10,0);
        endFill();
}
//flyt mc_cursor
this.onEnterFrame=function(){
    if(_root._ymouse>=0 and _root._ymouse<=50 and _root._xmouse>=0 and _root._xmouse<=500){
        x=_root._xmouse;
    }else{
        x=xclick;
    }
    mc_cursor._x += (x - mc_cursor._x)/5;
}
//Knapper
for(i=1;i<4;i++){
    //Lav knapper
    this.createEmptyMovieClip ("bu_"+i, i);
    with (this["bu_"+i]){
        beginFill (0xFF0000, 100);
        moveTo (-50,0);
        lineTo (50,0);
        lineTo (50,25);
        lineTo (-50,25);
        lineTo (-50,0);
        endFill();
    }
    this["bu_"+i]._x=i*110;
    this["bu_"+i]._y=12.5;
    //knapfunktioner
    this["bu_"+i].onPress=function(){
        xclick=this._x;
    }
}
Avatar billede alexander_j Nybegynder
17. juni 2003 - 13:00 #10
Det grundlæggende er knapfunktionen(onPress/onRelease):
this["bu_"+i].onPress=function(){
  xclick=this._x;
}
Og onEnterframe funktionen:
this.onEnterFrame=function(){
  if(_root._ymouse>=0 and _root._ymouse<=50 and _root._xmouse>=0 and _root._xmouse<=500){
      x=_root._xmouse;
  }else{
      x=xclick;
  }
  mc_cursor._x += (x - mc_cursor._x)/5;
}

Resten er bare tegning og placering af 'cursor' og knapper!
Avatar billede zakiller Nybegynder
17. juni 2003 - 13:54 #11
ok cool - det er lige præcis sådan som jeg havde forestillet mig det...men hvordan giver jeg knapperne forskellige scripts ?

ex..  on (release) {
    _root.transparent.gotoAndPlay(2);
    loadMovieNum("priser.swf", 1);
    loadMovieNum("banner.swf", 2);
    }
Avatar billede alexander_j Nybegynder
17. juni 2003 - 14:32 #12
Hvis du vil ha´det passet ind i din eksisterende kode så gør følgende:
1. På dit movieclip 'downarrow' ligger du koden:
onClipEvent (load) {
    _parent.xclick=this._x;
}
onClipEvent (enterFrame) {
    if (_root._ymouse>=20 and _root._ymouse<=70 and _root._xmouse>=0 and _root._xmouse<=775) {
        x = _root._xmouse;
    } else {
        x = _parent.xclick;
    }
    this._x += (x-this._x)/5;
}

2. Og på dine knapper ligger du koden:
on (release) {
    xclick=430;
    //+ gør et eller andet action
}
Avatar billede alexander_j Nybegynder
17. juni 2003 - 14:49 #13
Værdien af xclick skal naturligvis tilpasses den enkelte knap - fx 430, 530, 630, 730!
Avatar billede zakiller Nybegynder
17. juni 2003 - 15:07 #14
got it ;)) -  1000 tak

svar for point ;)
Avatar billede alexander_j Nybegynder
17. juni 2003 - 15:22 #15
oki!
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