Avatar billede bobbedude Nybegynder
12. februar 2002 - 11:50 Der er 36 kommentarer og
1 løsning

pause eller hvad det hedder

Her er mit script, ja det er ikke mig der har lavet det hele, jeg har moddet lidt i det.


if (!initialized) {
    Initialize();
    initialized = true;
}

function PieceX(col)
{
    return xBase + col * xSpace;
}

function PieceY(row)
{
    return yBase + row * ySpace;
}

// Subroutine Initialize
// Puzzle Initialization Code
function Initialize()
{
    Congratulations.stop();
    // Set dimensions of game grid
    numRows = 3;
    numCols = 3;
    numCells = numRows*numCols;

    xBase  = p0._x;
    yBase  = p0._y;
    xSpace = p0._width * 1.025;
    ySpace = p0._height * 1.025;

    // Create pieces
    var c = 1;
    var r = 0;
    for (var i=1; i<numCells-1; i++) {
        var name = "p" + i;
        var newPiece = eval(name);
        newPiece._x = PieceX(c);
        newPiece._y = PieceY(r);
        newPiece.PieceNumber = i+1;
        if (++c >= numCols) {
            c = 0;
            r++;
        }
    }

    // Set initial positions of each cell, including empty space
    posArray = [];
    for (i=0; i<numCells-1; i++) {
        posArray[i] = i;
    }
    empty = numCells-1;
}

// Subroutine Winner
// Tests whether the current piece positions is a winning position (that is, every piece in sequence)
function isWinner()
{
    for (var i = 0; i<numCells-1; i++) {
        if (posArray[i] != i) {
            return false;
        }
    }
    return true;
}

// Subroutine Click
// Puzzle click handler.When a piece is clicked, determine if it is adjacent to the empty space.  if it is, move it into the empty space.
// Check if this is a winner
function Click(clicked)
{
    clicked--;

    if (isWinner()) {
        // Start a new game
        timerstart();
        shuffle();
        // Get rid of the congratulations message
        Congratulations.gotoAndStop(1);
    } else {
        // Get the position of the clicked piece
        pos = posArray[clicked];
        // Get row, column of empty spot
        emptyRow = Math.floor(empty/numCols);
        emptyCol = empty-emptyRow*numCols;
        // Get row, column of clicked piece
        clickedRow = Math.floor(pos/numCols);
        clickedCol = pos-clickedRow*numCols;
        // Test adjacency
        // adjacent(i, j) = i is above j or i is below j, or i is left of j or i is right of j
        rowDiff = Math.abs(clickedRow-emptyRow);
        colDiff = Math.abs(clickedCol-emptyCol);
        adjacent = (rowDiff+colDiff) == 1;
        if (adjacent) {
            // Move the movie clip for the piece
            var piece = eval("/p" + clicked);
            piece._x = PieceX(emptyCol);
            piece._y = PieceY(emptyRow);
            // Swap the clicked piece with the empty space
            posArray[clicked] = empty;
            empty = pos;
            // If this is a winner, start the winning movie clip
            if (isWinner()) {
            timerstop();
            jubii();
            }
        }
    }
}

function jubii()
{
    loadVariablesNum ("http://www.rc-internet.com/mini/variabel/submit.asp?variabel="+runningTid, 0);
   
    getURL ("http://www.rc-internet.com/mini/variabel/resultat.asp", "_blank");
}

function timerstop()
{
        _root.playTid = false;
}
function timerstart()
{
    _root.startTid = getTimer();
    _root.playTid = true;
}

function Shuffle()
{
    // We want to arrange the cells in a random
    // order.  We do this by generating a random
    // number r(i) for each cell i, and sorting
    // the pairs (i, r(i)) using r(i) as the key.

    // Comparison function for the sort
    var cf = function (x, y) {
        if (x[1] < y[1]) {
            return -1;
        } else if (x[1] > y[1]) {
            return 1;
        } else {
            return 0;
        }
    }
    var i;
    var cell = [];
    for (i=0; i<numCells; i++) {
        cell.push([i, Math.random()]);
    }
    cell.sort(cf);

    // We've sorted the ordered pairs...
    // Now position the pieces according
    // to the new order.
    var r = 0, c = 0;
    for (i=0; i<numCells; i++) {
        var piece = cell[i][0];
        if (piece == numCells-1) {
            empty = i;
        } else {
            posArray[piece] = i;
            var p = eval("/p" + piece);
            p._x = PieceX(c);
            p._y = PieceY(r);
        }
        if (++c >= numCols) {
            c = 0;
            r++;
        }
    }
}




Det jeg gerne vil have er at den i

function jubii()
{
    loadVariablesNum ("http://www.rc-internet.com/mini/variabel/submit.asp?variabel="+runningTid, 0);
   
    getURL ("http://www.rc-internet.com/mini/variabel/resultat.asp", "_blank");
}


Mellem loadVariablesNum og getURL laver en pause på 5 eller 10 sekunder.





Avatar billede lingoman Nybegynder
12. februar 2002 - 12:12 #1
Du kan gøre det på følgende måde.

lav en frame action som looper mens vi venter

if(timerActive==true) {
  if (pauseDone > getTimer() ) {
      gotoAndPlay(_currentFrame -1 );
  } else {
    //ventetiden er slut. Udfør næste instruks
    getURL ("http://www.rc-internet.com/mini/variabel/resultat.asp", "_blank");
    //annuler timer
    timerActive=false;
  }
}

Din jubii funktion skal så sørge for at timeren aktiveres

function jubii() {
    loadVariablesNum ("http://www.rc-internet.com/mini/variabel/submit.asp?variabel="+runningTid, 0);
    PauseDone = 5*1000;  // sæt timeren til at vente i 5 sekunder
    timerActive =  true ; 
}

Jeg går ud fra at alle actioner ligger i root, ellers kan tilpasse referencer til variablerne "timerActive" og "pauseDone"               
mvh geo
Avatar billede lingoman Nybegynder
12. februar 2002 - 12:14 #2
rettelse>>

unction jubii() {
        loadVariablesNum ("http://www.rc-internet.com/mini/variabel/submit.asp?variabel="+runningTid, 0);
        PauseDone = 5*1000 + getTimer();  // sæt timeren til at vente i 5 sekunder
        timerActive =  true ; 
}
Avatar billede lingoman Nybegynder
12. februar 2002 - 12:18 #3
Der skal i øvrigt ikke ligge nogle frameactioner i den forrige frame da vi looper i mellem disse 2 frames mens vi venter
Avatar billede pixelpaw Nybegynder
12. februar 2002 - 12:51 #4
geo, modtager du e-mails fra eksperten?
Avatar billede lingoman Nybegynder
12. februar 2002 - 13:03 #5
Kun nogle få..
Avatar billede pixelpaw Nybegynder
12. februar 2002 - 13:11 #6
jeg får slet ingen
Avatar billede lingoman Nybegynder
12. februar 2002 - 13:18 #7
får du andre mails?
Jeg kan sende en testmail..hvad er adressen ?
Avatar billede lingoman Nybegynder
12. februar 2002 - 13:23 #8
jeg har sendt en til guldfisk@stofanet.dk

fik du den ?
Avatar billede pixelpaw Nybegynder
12. februar 2002 - 13:47 #9
Kan jeg ikke checke her fra arb, men det er heller ikke den jeg har tilmeldt.

Det er enten paw@pote.dk eller paw@risedate.dk
Avatar billede lingoman Nybegynder
12. februar 2002 - 13:51 #10
Prøver at sende til dem nu
sendt!
Avatar billede lingoman Nybegynder
12. februar 2002 - 13:53 #11
Aha!

Hi. This is the qmail-send program at fe090.worldonline.dk.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

<paw@risedate.dk>:
Sorry, I couldn't find any host named risedate.dk. (#5.1.2)

--- Enclosed is a copy of the message.
Avatar billede lingoman Nybegynder
12. februar 2002 - 13:54 #12
Der er noget galt med paw@risedate.dk .
Jeg fik mailen retur :(
Avatar billede pixelpaw Nybegynder
12. februar 2002 - 14:08 #13
paw@risedata.dk

oops, ikke "date", men "data"
Avatar billede pixelpaw Nybegynder
12. februar 2002 - 14:29 #14
Her på arb har vi fundet fejlen. Der en klyde der har lukket for mail service på vores server.

Men tak for hjælpen Geo
Avatar billede lingoman Nybegynder
12. februar 2002 - 14:34 #15
Så lidt da :) Klyng ham op!
Avatar billede bobbedude Nybegynder
13. februar 2002 - 08:04 #16
undskyld men hvordan laver jeg en frame action som looper ?
Jeg er ikke ret hård til flash.
Avatar billede lingoman Nybegynder
13. februar 2002 - 08:36 #17
Du skal bare have 2 frames med identisk indhold. første frame har ingen frame action. anden frame skal så have
Vi indstiller ventetiden og aktiverer timeren i din modificerede jubii()hvor vi eksekverer den første loadVariables()

//////
function jubii() {
        loadVariablesNum ("http://www.rc-internet.com/mini/variabel/submit.asp?variabel="+runningTid, 0);
        PauseDone = 5*1000 + getTimer();  // sæt timeren til at vente i 5 sekunder
        timerActive =  true ; 
}

//////

så indsætter vi frame actionen som sørger for at loope
////  frame action i anden frame  ////

if(timerActive==true) {
      if (pauseDone > getTimer() ) {
              gotoAndPlay(_currentFrame -1 );
      } else {
              //ventetiden er slut. Udfør næste instruks
              getURL ("http://www.rc-internet.com/mini/variabel/resultat.asp", "_blank");
              //annuler timer
              timerActive=false;
      }
}

////////

linien "gotoAndPlay(_currentFrame -1 )" siger at vi skal gå tilbage til den forrige frame hvis ventetiden ikke er overstået
ellers udfører vi din getURL() action og slukker for timer funktionen.

mvh geo
Avatar billede bobbedude Nybegynder
13. februar 2002 - 09:27 #18
Hey Lingoman nu tror jeg at den kører men hvis du har tid gider du så lige checke for mig.
Jeg tror at min action som skal loope ikke virker korrekt.
du kan se FLA filen her http://www.rc-internet.com/mini/variabel/Puzzle_Ver5-1.fla
Avatar billede lingoman Nybegynder
13. februar 2002 - 09:29 #19
Gider du at sende den til mig ? Jeg har aldrig været i stand til at åbne downloadede fla filer med mindre de først blev zippet...
geo@lingoman.dk
Avatar billede bobbedude Nybegynder
13. februar 2002 - 09:31 #20
Hmm den skriver godt nok tilykke men den går ikke nogen steder efter 5 sekunder
Avatar billede lingoman Nybegynder
13. februar 2002 - 09:35 #21
Kommer tillykke ved loadVariablesNum() eller getURL() ?
Hvis den skal noget efter getURL() actionen skal du blot tilføje det lige efter
Avatar billede bobbedude Nybegynder
13. februar 2002 - 09:36 #22
er sendt
Avatar billede bobbedude Nybegynder
13. februar 2002 - 09:38 #23
det skulle komme inden get url.
først skal den stoppe timeren med timerstop();
Så skal den lige kører en lille Tilykke du har vundet film med Congratulations.play();
I Congratulations.play(); har jeg i enden sat at den skal loope og åbne siden der fortæller hvor meget tid man har brugt.
  getURL ("http://www.rc-internet.com/mini/variabel/resultat.asp", "_blank");
Avatar billede lingoman Nybegynder
13. februar 2002 - 10:02 #24
Det er pga loop actionen er sat på et movieClip ;)

se mit første indlæg>>
"
      ...Jeg går ud fra at alle actioner ligger i root, ellers kan tilpasse referencer til variablerne "timerActive" og "pauseDone" "

Men nu har jeg korrigeret stien. Sender den til dig så du kan få fornøjelsen at teste resultatet ;))
Sig til hvis den ikke er i orden
mvh geo
Avatar billede bobbedude Nybegynder
13. februar 2002 - 10:04 #25
tak skal du have Geo
Avatar billede lingoman Nybegynder
13. februar 2002 - 10:12 #26
virker det ?
Avatar billede bobbedude Nybegynder
13. februar 2002 - 10:25 #27
Geo af en eller anden grund starter uret ikke med at tælle mere ?
Avatar billede lingoman Nybegynder
13. februar 2002 - 10:29 #28
Det kan være at jeg har undervurderet filmens struktur.
Lad mig lige prøve igen...
Avatar billede bobbedude Nybegynder
13. februar 2002 - 10:30 #29
oki tak
Avatar billede lingoman Nybegynder
13. februar 2002 - 10:33 #30
Version 2 sendt!
Avatar billede lingoman Nybegynder
13. februar 2002 - 11:00 #31
virker det nu ?
Avatar billede bobbedude Nybegynder
13. februar 2002 - 11:30 #32
hehe det tager jo en evighed for at checke det l*** men så snart jeg har klaret den lader jeg dig det vide.
Du kan jo prøve her *grin* http://www.rc-internet.com/mini/variabel/test.asp
Avatar billede bobbedude Nybegynder
14. februar 2002 - 13:52 #33
Hey lingoman det virker bare tak for hjælpen.
Avatar billede lingoman Nybegynder
14. februar 2002 - 13:54 #34
Det glæder mig :)
Avatar billede lingoman Nybegynder
14. februar 2002 - 13:58 #35
har jeg også gjort mig fortjent til nogle point ?
Avatar billede bobbedude Nybegynder
14. februar 2002 - 14:03 #36
yep
Avatar billede lingoman Nybegynder
14. februar 2002 - 14:11 #37
tak for point :)
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