Avatar billede kragekjaer Praktikant
16. november 2001 - 13:44 Der er 17 kommentarer og
2 løsninger

Hvorfor virker denne function ikke?

var xPositions = new Array(183, 129, 214, 297, 409, 175, 390);

function jumpTo(number) {
    for (i=1; i<5; i++)
{
    \"_root.kom\"+[i]+\".newX\" = xPositions[number];
   
    trace(\"kom\"+[i]+\".newX\")
   
}
}

Jeg kan sagtens trace kom1-4, men funktionen virker ikke....
Avatar billede nikolajdu Nybegynder
16. november 2001 - 13:46 #1
_root.kom[i].newX = xPositions[number];
Avatar billede pixelpaw Nybegynder
16. november 2001 - 13:46 #2
_root[\"kom\"+i].newX = xPositions[number]
Avatar billede nikolajdu Nybegynder
16. november 2001 - 13:47 #3
Og så bør du ikke bruge \"number\" som dit parameter. \"Number\" er et reserveret ord og det kan give uheldige udfald. Bare brug noget så dansk som \"nummer\".
Avatar billede kragekjaer Praktikant
16. november 2001 - 13:50 #4
Ok, det har jeg også prøver men det virker bare ikke....På et tidspunkt kalder jeg funktionen fra en frame ved _root.jumpTo(2);......

Hver kom1-4 har en

onClipEvent (load) {
    var a = 4;

    var d = 3;
    var newX = _x;

    var myXspeed = 0;
}
onClipEvent (enterFrame) {
    myXspeed = ((_x-newX)/a+myXspeed)/d;
    _x -= myXspeed;
}

Avatar billede pixelpaw Nybegynder
16. november 2001 - 13:51 #5
øv nej, ikke dansk, det burde være forbudt :)
så heller bruger en trebogstavsforkortelse foran, som fx intNumber
Avatar billede kragekjaer Praktikant
16. november 2001 - 13:56 #6
pixelpaw, så får jeg
Expected a field name after \'.\' operator.
        _root.[\"kom\"+i].newX= xPositions[nummer];
Avatar billede nikolajdu Nybegynder
16. november 2001 - 13:57 #7
Dennis hvad er \"newX\" for noget??
Avatar billede kragekjaer Praktikant
16. november 2001 - 13:59 #8
Nicolajdu, har skrevet den sådan....den tracer og der er ingen fejlmelding, men min clips bevæger sig ikke en meter....

var xPositions = new Array(183, 129, 214, 297, 409, 175, 390);
function jumpTo (nummer) {
    for (i=1; i<5; i++)
{
    _root.kom[i].newX= xPositions[nummer];
   
    trace(\"kom\"+[i]+\".newX\")
   
}
}
Avatar billede kragekjaer Praktikant
16. november 2001 - 14:00 #9
Nicolajdu, newX bruges til at regne bevægelsen ud for det pågældende clip....
Avatar billede kragekjaer Praktikant
16. november 2001 - 14:01 #10
.....det er en variabel
Avatar billede kragekjaer Praktikant
16. november 2001 - 14:05 #11
Førhen brugte jeg funktionen, da den så sådan ud:

var xPositions = new Array(183, 129, 214, 297, 409, 175, 390);

function jumpTo (nummer) {
_root.kom.newX= xPositions[nummer];
    }

Og der bevæger clippet(kom) sig, når funktioen kaldes, men eter jeg satte dette loop ind, kan jeg ikke få flere clips til at bevæge sig...
Avatar billede pixelpaw Nybegynder
16. november 2001 - 14:06 #12
du kan sende den til mig: paw@risedata.dk
så kigger jeg på det
Avatar billede nikolajdu Nybegynder
16. november 2001 - 14:18 #13
Du bruger Paw´s idé.

Så mangler du kun én ting. Nemlig at fortælle newX hvilke objekt det skal tage _x fra.

this.newX så funker det.
Avatar billede nikolajdu Nybegynder
16. november 2001 - 14:23 #14
onClipEvent (load) {
    var a = 4;
    var d = 3;
    var newX = this._x;
    var myXspeed = 0;
}
onClipEvent (enterFrame) {
    myXspeed = ((_x-newX)/a+myXspeed)/d;
    _x -= myXspeed;
}


var xPositions = new Array(183, 129, 214, 297, 409, 175, 390);
function jumpTo (nummer) {
    for (i=1; i<5; i++) {
        _root[\"kom\"+i].newX = xPositions[nummer];
        trace (_root[\"kom\"+i].newX);
    }
}
Avatar billede kragekjaer Praktikant
16. november 2001 - 14:30 #15
Nicolajdu, det sidste behøves ikke,

var xPositions = new Array(183, 129, 214, 297, 409, 175, 390);
function jumpTo (nummer) {
    for (i=1; i<5; i++)
{
_root[\"kom\"+i].newX = xPositions[numner]
   
    trace(\"kom\"+[i]+\".newX\")
   
}
}

Nu virker det.....mange tak for hjælpen
Avatar billede nikolajdu Nybegynder
16. november 2001 - 14:34 #16
Så lidt da selvom jeg fik postet svaret et pargange i paw´s spørgsmål her: http://www.eksperten.dk/spm/134683
Avatar billede kragekjaer Praktikant
16. november 2001 - 14:35 #17
Lige et x-tra spørgsmål, der kunne være interessant:

Man kan ikke lave det med en lille forsinkelse på hver clip?

Jeg kender ikke så meget til hvordan loops af denne art eksekveres, om den looper alle igennnem før den foretager handlingen????
Avatar billede pixelpaw Nybegynder
16. november 2001 - 14:39 #18
krage, hvis du har copy/pasted koden ovenover, så vil jeg lige gøre opmærksom på, at først har du skrevet \"nummer\" og derefter \"numner\"
Avatar billede kragekjaer Praktikant
16. november 2001 - 14:45 #19
tak
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