Avatar billede rudestrand Nybegynder
17. maj 2004 - 12:45 Der er 11 kommentarer

movieclip synligt/usynlig - hjælp til script

jeg har et script som skal bruges til at gøre 9 ud af 10 movieclips usynlige, når man så trykker på en knap i mc'erne, skal det gøre det synlige mc usynligt og et anden synlig og så fremdeles.  Mit store problem er at scriptet viser alle 10 mc's når filmen starter, og først når man har trykket på en af knapperne bliver de 9 andre usynlige.

Hvordan kan jeg få kun ét movieclip til at være synlig fra starten, og så ellers bruge scriptetts funktion som gør de andre 9 usynlige og viser dem i vilkårlig rækkefølge, når man trykker på knapperne????

Scriptet ser sådan ud:

i Frame 1:
points = 0;
nummer = 0;
talarray = new Array(10);
function putInd(tal) {
    plads = random(talarray.length);
    if(talarray[plads] == null)
        talarray[plads] = tal;
    else
        putInd(tal);
}
for(i = 1; i <= talarray.length; i++)
    putInd(i);
for(i = 1; i <= 10; i++) {
    _root["movieclip" + i]._visible = false;
}
function nextQuestion() {
  _root.nummer++;
  if(_root.nummer >= talarray.length) {
    _root.nextFrame();
    trace("points" + _root.points);
  } else {
    //gør de andre movieclips usynlige og viser det næste
    for(i = 1; i <= 10; i++) {
      _root["movieclip" + i]._visible = false;
    }
    _root["movieclip" + talarray[_root.nummer]]._visible = true;
  }
}

På kanpperne:

on(release) {
// Svaret var rigtigt
_root.points += 5;
_root.nextQuestion();
}
eller...
on(release) {
// Svaret var forkert
_root.nextQuestion();
}
Avatar billede rudestrand Nybegynder
17. maj 2004 - 12:46 #1
Hov der var jeg lidt hurtig på knappen.... Jeg giver gerne 100 points for brugbar hjælp :-)
Avatar billede kragekjaer Praktikant
17. maj 2004 - 12:56 #2
først du giver hver knap et id

derefter laver du en
var activeKnap;

on(release) {
activeKnap=this.id;
resetKnapper();
}

function resetKnapper(){
for(i=0;0<=antalKnapper;i++){
  _root["knap"+i]_visible=false;
}
_root["knap"+activeKnap]._visible=true;
}

Kan du se meningen med det?
Avatar billede kragekjaer Praktikant
17. maj 2004 - 12:57 #3
id skal så gå fra 0 til antalKnapper
Avatar billede kragekjaer Praktikant
17. maj 2004 - 12:59 #4
du kan så starte med

var activeKnap=0;
resetKnapper();
Avatar billede kragekjaer Praktikant
17. maj 2004 - 13:04 #5
du skal sæføli skrive
for(i....){
  _root["knap"+i].onRelease=function(){
      activeKnap=this.id;
      resetKnapper();
  }
}
Avatar billede rudestrand Nybegynder
17. maj 2004 - 13:10 #6
jeg kan umiddelbart ikke lige se ideen, men hvis du også kan forklare det i "ord" i stedet for kode, vil det hjælpe mig meget?
koden er til en quiz, hvor man starter med at få stillet et spørgsmål, her skal 1. mc dukke op og der er så 3 knapper med mulige svar (er det disse kanpper du mener skal tildeles id?), man trykker på sit svar og går så videre til næste spørgsmål. Scriptet for oven skal blande mc'erne i tilfældig rækkefølge, så det ikke er det samme hver gang man spiller quizzen
Avatar billede kragekjaer Praktikant
17. maj 2004 - 13:17 #7
på hvert mc, altså spørgsmål-mc, sætter du en onClipEvent(load){this._visible=false};

bagefter tildeler du dem et id

derefter definerer du en var activeKnap=1;

og kører så resetKnapper();

Så får du det du ønsker; nemlig ét synligt mc
Avatar billede rudestrand Nybegynder
17. maj 2004 - 13:25 #8
men har det nogen indflydelse på den rækkefølge som mc'er vises i - det er helt afgørende at de vises i random rækkefølge?
Avatar billede pyroman Nybegynder
17. maj 2004 - 22:11 #9
var points = 0;
var nummer = -1;
var talarray = new Array(10);
for(i=0;i<talarray.length;i++){
  talarray[i] = i;
}

Array.prototype.shuffle = function(){
  this.sort(function(a,b){ return Math.ceil(Math.random()*3)-2;});
}
function nextQuestion(){
  nummer++;
  if(nummer >= talarray.length){
    _root.nextFrame();
  }else{
    for(i=0; i<talarray.length; i++){
      _root["movieclip"+i]._visible = false;
    }
    _root["movieclip"+nummer]._visible = true;
  }
}

talarray.shuffle();
nextQuestion();



Tror jeg burde kunne gøre det ;)
Avatar billede rudestrand Nybegynder
18. maj 2004 - 00:10 #10
Pyroman, jeg kan ikke få dit script til at virke, det starter med at vise mc 10, som herefter bliver stående, derefter vises mc1, mc2, mc3 osv i rækkefølge, og ikke i TILFÆLDIG rækkefølge!??
Er der ikke én af jer som kan få scriptet som jeg har vist for oven til ikke at vise alle mc fra start. Scriptet viser fint alle 10 mc i tilfældig rækkefølge, men det starter bare med at vise alle 10 på én gang, når man trykker på en svarknap forsvinder de 9 og herefter vises mc'ene i tilfældig rækkefølge.

Det jeg mangler er kun at få scriptet til at starte med bare at vise ét mc...hjælp!?
Avatar billede rudestrand Nybegynder
19. maj 2004 - 15:11 #11
Til Pyroman, smid et svar så deler su points med Kragekjaer!
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