Avatar billede donslund Nybegynder
01. marts 2002 - 17:35 Der er 31 kommentarer og
1 løsning

hvorfor vises det ikke?

Jeg kan ikke få movieclippet til at skifte til fra 5 når _root.ant_klik == 2;

onClipEvent (mouseUp) {
    if (this.hitTest(_root._xmouse, _root._ymouse)) {
        trace ("ok");
        // ///////////
        _root.ant_klik = (_root.ant_klik+1);
        if (_root.ant_klik == 1) {
            gotoAndPlay (5);
            _root.klik1 = String(this);
            _root.klik1 = _root.klik1.charAt(8);
            _root.fuldnavn1 = this._name;
            trace (_root.klik1);
        }
        if (_root.ant_klik == 2) {
            gotoAndPlay (5);
            starttid = getTimer();
            _root.klik2 = String(this);
            _root.klik2 = _root.klik2.charAt(8);
            _root.fuldnavn2 = this._name;
            trace (_root.klik2);
            if (_root.klik1 == _root.klik2) {
                _root.msg = "Hurra";
                _root.ant_klik = 0;
                // nustiller
                _root.klik1 = "";
                // nustiller
                _root.klik2 = "";
                // nustiller
            } else {
                _root.msg = "Øv";
                brugtid = getTimer();
                do {
                    brugtid = getTimer();
                    trace ("tiden går");
                } while ((brugtid-starttid)<3000);
                _root[_root.fuldnavn1].gotoAndPlay(1);
                trace ("1-1 vendes igen");
                _root[_root.fuldnavn2].gotoAndPlay(1);
                trace ("2-1 vendes igen");
                _root.ant_klik = 0;
                // nustiller
                _root.klik1 = "";
                // nustiller
                _root.klik2 = "";
                // nustiller
            }
        }
        // //////////////
    }
}

Ja, dette er altså koden. :-0
Avatar billede barklund Nybegynder
01. marts 2002 - 17:48 #1
erstat gotoAndStop(5) med this.gotoAndStop(5)... En bug i F5... :o)
Avatar billede donslund Nybegynder
01. marts 2002 - 17:57 #2
Den går stadigvæk ikke til frame 5. Jeg har sat en trace in i frame 5 og den vises slet ikke i output-vinduet.
Avatar billede barklund Nybegynder
01. marts 2002 - 17:58 #3
læg din this.gotoAndStop(5) helt op over dine if-else, for det skal den jo under alle omstændigheder gøre... Har du scener i din film?
Avatar billede barklund Nybegynder
01. marts 2002 - 18:01 #4
Du kan eventuelt skrive:

this.gotoAndStop(5);
trace(_currentframe);
Avatar billede donslund Nybegynder
01. marts 2002 - 18:01 #5
Der er ingen scener.
Nu lægger den aller øverst. Det bevirker, at den først vises når all ifsætningerne er gennmløbet.
Avatar billede lingoman Nybegynder
01. marts 2002 - 18:05 #6
Måske bliver _root.ant_klik værdien tolket som en streng.
prøv at erstatte
_root.ant_klik = (_root.ant_klik+1);

med

_root.ant_klik++;
Avatar billede donslund Nybegynder
01. marts 2002 - 18:09 #7
Den kører ifsætningerne igennem til efter det der med brugtid-starttid og så vender den brikkerne eller i hvert fald den første der er vendt, for nummer 2 bliver aldrig vendt.
Avatar billede lingoman Nybegynder
01. marts 2002 - 18:20 #8
hvis den når helt ind til brugtid, så bliver gotoAndPlay(5) også eksekveret.
Den eneste mulighed jeg kan se er at du vil vil have en anden tidlinie ( fks hovedfilmen eller et andet MC til at gå til frame 5 )
I så fald skal du bruge syntaksen

_root.gotoAndPlay(5); // hvis det er hovedfilmen

og angive hele stien til movieclippet som du vil styre
Avatar billede donslund Nybegynder
01. marts 2002 - 18:36 #9
Det mener jeg jo, at du skulle have ret i, men når jeg tester min film sker der bare ingenting.
Al denne kode er skrevet i mc'et og gotoAndPlay skulle være nok ik'?
Avatar billede lingoman Nybegynder
01. marts 2002 - 18:39 #10
gotoAndPlay() er nok hvis det er mc'ets egen tidlinie du vil bruge.
På hvilken tidlinie ligger den frame 5 du vil hen til ?
Avatar billede donslund Nybegynder
01. marts 2002 - 18:40 #11
På mc'ets tidslinie.
Avatar billede lingoman Nybegynder
01. marts 2002 - 18:43 #12
Har du andre clipevents på dette MC?
f. eks.

onClipEvent(enterframe) {}
Avatar billede donslund Nybegynder
01. marts 2002 - 18:45 #13
Nej
Avatar billede lingoman Nybegynder
01. marts 2002 - 18:49 #14
Så kan jeg ikke forstå hvorfor den aldrig kommer til frame 5.
Prøv at lave en test knap inde i denne MC med actionen

on (release) {
trace("button pressed");
gotoAndStop(5);
}
Avatar billede donslund Nybegynder
01. marts 2002 - 18:55 #15
Det vil den ikke, men er det ikke fordi, at mc'et ikke indeholder en knap, men ken er et movieclip?
Kan on ... ikke kun bruges til knapper?
Avatar billede lingoman Nybegynder
01. marts 2002 - 18:57 #16
Jo, on  bruges kun på knapper, men dit mc kan sagtens have en knap inden i sig ;)
Avatar billede donslund Nybegynder
01. marts 2002 - 18:59 #17
Nå ja, det var det du mente, men det virker ikke rigtigt.
Avatar billede lingoman Nybegynder
01. marts 2002 - 19:02 #18
Der må være noget galt med din fla. Hvis dit MC har 5 frames skal den gå til frame 5 med gotoAndPlay(5).
Jeg kan desværre ikke komme i tanke om flere muligheder...
Avatar billede donslund Nybegynder
01. marts 2002 - 19:03 #19
Jo, men en testknap går den til frame 5.
Avatar billede donslund Nybegynder
01. marts 2002 - 19:04 #20
Men ikke hvis man først trykker på en anden brik og dette mc er nummer to.
Avatar billede lingoman Nybegynder
01. marts 2002 - 19:07 #21
Fint så overskriv din kode ved at copy/paste

onClipEvent (mouseUp) {
                        if (this.hitTest(_root._xmouse, _root._ymouse)) {
                            trace ("ok");
                            // ///////////
                            _root.ant_klik = (_root.ant_klik+1);
                            if (_root.ant_klik == 1) {
                                gotoAndPlay(5);
                                _root.klik1 = String(this);
                                _root.klik1 = _root.klik1.charAt(8);
                                _root.fuldnavn1 = this._name;
                                trace (_root.klik1);
                            }
                            if (_root.ant_klik == 2) {
                                gotoAndPlay(5);
                                starttid = getTimer();
                                _root.klik2 = String(this);
                                _root.klik2 = _root.klik2.charAt(8);
                                _root.fuldnavn2 = this._name;
                                trace (_root.klik2);
                                if (_root.klik1 == _root.klik2) {
                                    _root.msg = "Hurra";
                                    _root.ant_klik = 0;
                                    // nustiller
                                    _root.klik1 = "";
                                    // nustiller
                                    _root.klik2 = "";
                                    // nustiller
                                } else {
                                    _root.msg = "Øv";
                                    brugtid = getTimer();
                                    do {
                                        brugtid = getTimer();
                                        trace ("tiden går");
                                    } while ((brugtid-starttid)<3000);
                                    _root[_root.fuldnavn1].gotoAndPlay(1);
                                    trace ("1-1 vendes igen");
                                    _root[_root.fuldnavn2].gotoAndPlay(1);
                                    trace ("2-1 vendes igen");
                                    _root.ant_klik = 0;
                                    // nustiller
                                    _root.klik1 = "";
                                    // nustiller
                                    _root.klik2 = "";
                                    // nustiller
                                }
                            }
                            // //////////////
                        }
                    }
Avatar billede lingoman Nybegynder
01. marts 2002 - 19:09 #22
Bruger dine andre MC'er også den samme variabel _root.ant_klik  ?
Avatar billede donslund Nybegynder
01. marts 2002 - 19:09 #23
ja
Avatar billede donslund Nybegynder
01. marts 2002 - 19:11 #24
Din kode havde ingen virkning.
Avatar billede lingoman Nybegynder
01. marts 2002 - 19:19 #25
Jeg har fundet fejlen (tror jeg)

Prøv at fjerne dit do-while loop :)
Avatar billede donslund Nybegynder
01. marts 2002 - 19:21 #26
Ja, der har jeg været engang. Men så sker der det, at anden brik der bliver trykket på går tilbage til frame 1 så hurtigt, at man ikk enår at se hvad det er.
Hvad gør jeg så for at forsinke at den vender tilbage til frame 1?
Avatar billede lingoman Nybegynder
01. marts 2002 - 19:28 #27
et øjeblik, nu hvor vi ved hvorfor problemet opstod kan vi sagtens korrigere det.
omskriver lige dit script
Avatar billede lingoman Nybegynder
01. marts 2002 - 19:49 #28
onClipEvent(enterframe) {
  if (timerActive) {
      brugtid = getTimer();
      if (brugtid-starttid) > 3000) {
          _root[_root.fuldnavn1].gotoAndPlay(1);
          trace ("1-1 vendes igen");
          _root[_root.fuldnavn2].gotoAndPlay(1);
          trace ("2-1 vendes igen");
          _root.ant_klik = 0;
          // nustiller
          _root.klik1 = "";
          // nustiller
          _root.klik2 = "";
          // nustiller
          timerActive = false;
        }
    }
}

onClipEvent (mouseUp) {
  if (timerActive != true) {
      if (this.hitTest(_root._xmouse, _root._ymouse)) {
          trace ("ok");
          // ///////////
          _root.ant_klik = (_root.ant_klik+1);
            if (_root.ant_klik == 1) {
                  gotoAndPlay(5);
                  _root.klik1 = String(this);
                  _root.klik1 = _root.klik1.charAt(8);
                  _root.fuldnavn1 = this._name;
                trace (_root.klik1);
            }
            if (_root.ant_klik == 2) {
                  gotoAndPlay(5);
                  starttid = getTimer();
                  _root.klik2 = String(this);
                  _root.klik2 = _root.klik2.charAt(8);
                  _root.fuldnavn2 = this._name;
                  trace (_root.klik2);
                  if (_root.klik1 == _root.klik2) {
                      _root.msg = "Hurra";
                      _root.ant_klik = 0;
                      // nustiller
                      _root.klik1 = "";
                      // nustiller
                      _root.klik2 = "";
                      // nustiller
                  } else {
                      _root.msg = "Øv";
                      timerActive = true;
                  }
                }
            // //////////////
            } //end hittest
        } // end timerActive == false
} // end enterframe

Det kan godt være at der mangler nogle "}" men jeg håber du kan se hvad jeg gør.
mvh geo
Avatar billede donslund Nybegynder
01. marts 2002 - 21:17 #29
Lingoman --->  Et par () omkring betingelsen i en f-sætning var alt hvad der skulle til i dit Script. Du er jo en ren Flash-helt. Tak for hjælpen. Og ikke mindst: Tak for tålmodigheden.
Avatar billede donslund Nybegynder
01. marts 2002 - 21:32 #30
Jeg er nødt til lige at spørge.
Hvad tænker du når du laver sådan et script. For det er vel det vi andre lærer af.
Avatar billede donslund Nybegynder
01. marts 2002 - 21:34 #31
Lige en sidste ting. Når jeg nu har dette lange script som skal på i alt 16 brikker, kan det så ikke lægge ud som function() et eller andet sted, så det kun er et sted det skal rettes ved en videreudbygning?
Avatar billede barklund Nybegynder
02. marts 2002 - 00:08 #32
Hele onMouseUp kan i hvertfald laves til en function _root.click(mc_name) ret nemt... Prøv selv at implementere denne...
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