Avatar billede 99c09 Nybegynder
18. november 2004 - 17:07 Der er 6 kommentarer og
1 løsning

Actionscript med random?

Hey!

Jeg er i gang med at lave et spil hvor man skal skyde sig igennem hober af monstre! og derfor ville det være påfaldende at lave nogle powerUP's

jeg har skrevet det her script til et movieclip der heder powerUP
MC'et består af x antal frames (i mit tilfælde 4) som er fire udgaver af en boks, med hver deres logo (health, point, etc) så "egenskaben" af powerUP'en grafisk bliver forandret hvergang denne skydes og reloades!

problemet er at det ikke virker efter hensigten(når man skyder boksen forsvinder den og kommer igen et andet sted som den skal, men boksen skifter ikke)!!! har på fornemmelsen at det har noget at gøre med at den skal spawne et nyt movieclip samtidig med at den skal udføre en random komando i MC'et?...
derudover ville det være guld hvis det var muligt at lave et ramdom delay så MC'et ikke kommer tilbage et andet sted med det samme...

KÆMPE SMØRRE! håber nogle er friske!
ps. her er scriptet


onClipEvent(enterFrame){
   
    generator = Number(random(5))+2;
    tellTarget ("/this") {
    gotoAndStop(/:generator);
    }
   
    function createNew() {
   
    this._x = random(680);   
        this._y = random(680);
    }
}

onClipEvent (enterFrame) {
    if(this.hitTest(_root.hit || _root.good)){
        createNew();
    }
}
Avatar billede barklund Nybegynder
18. november 2004 - 17:42 #1
tellTarget? slash-syntaks? skumle onEnterFrame løkker, der hele tiden redefinerer en funktion? Det er godt nok skummel kode - puhadada!

Har du selv skrevet det? I hvilken flash-version i så fald?
Avatar billede rohaje Nybegynder
18. november 2004 - 20:48 #2
det kunne måske se sådan ud

onClipEvent (load) {
    function createNew() {
        _visible = false;
        this._x = random(680);
        this._y = random(680);
        clearInterval(interval);
        randomTid=random(10000)+1000;
        interval = setInterval(reSpawne, randomTid);
    }
    function alive() {
        generator = random(5)+2;
        gotoAndStop(generator);
        if (this.hitTest(_root.hit || _root.good)) {
            createNew();
            onEnterFrame = false;
        }
    }
    function reSpawne() {
        _visible = true;
        onEnterFrame = alive;
    }
    createNew();
}
Avatar billede rohaje Nybegynder
18. november 2004 - 20:50 #3
fuck
onClipEvent (load) {
    function createNew() {
        _visible = false;
        this._x = random(680);
        this._y = random(680);
       
        randomTid=random(10000)+1000;
        interval = setInterval(reSpawne, randomTid);
    }
    function alive() {
        generator = random(5)+2;
        gotoAndStop(generator);
        if (this.hitTest(_root.hit || _root.good)) {
            createNew();
            onEnterFrame = false;
        }
    }
    function reSpawne() {
        clearInterval(interval);
        _visible = true;
        onEnterFrame = alive;
    }
    createNew();
}
Avatar billede 99c09 Nybegynder
19. november 2004 - 00:21 #4
Er klar over at koden er meget forvirende? det er derfor jeg ber om hjælp barklund...(er lidt rusten) 1000 tak for koden rohaje 200 bobs til dig!
Avatar billede rohaje Nybegynder
19. november 2004 - 00:33 #5
virker det :)
Avatar billede 99c09 Nybegynder
19. november 2004 - 02:24 #6
jeps :)
Avatar billede rohaje Nybegynder
19. november 2004 - 09:05 #7
det var en ordenlig omgang ponit, for så lidt :) 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