Avatar billede robertk Nybegynder
02. januar 2003 - 19:45 Der er 12 kommentarer

Har du styr på actionscript? > se eksempel!

Hej jeg kunne godt bruge lidt hjælp her..

Er der nogen der kan scripte sig fra det her:

http://www.pixeling.dk/cube.htm

og inkludere "dublicateMovie"

Mvh.
Robertk ;)
Avatar billede barklund Nybegynder
02. januar 2003 - 20:32 #1
Forholdsvist nemt... Jeg prøver gerne sådan bare ud af ærmet (da jeg ikke har MX ved hånden og ikke gider sidde og rode mere med PHP som jeg ellers burde :o)

Hvorfor skal det være duplicateMovieClip? Kan det hele ikke bare scriptes? Eller det skal måske desværre være i Flash5? (da det kun kan scriptes 100% i MX)... Jeg ser dog at den eksisterende fil er MX, men kan som sagt ikke læse den uden MX...
Avatar billede robertk Nybegynder
02. januar 2003 - 20:53 #2
Jow det er fint hvis du kan scripte dig fra det, ved kun at lave en box! så den selv genrere de andre.. you know ;)

Lover dig jeg har rodet med det f**k længe..
Avatar billede robertk Nybegynder
02. januar 2003 - 20:58 #3
Jeg vil sQ godt smide 15 points mere for det!.. :)
Avatar billede barklund Nybegynder
02. januar 2003 - 21:18 #4
Du behøver slet ikke lave nogen box med tegneværktøjet... Du kan jo generere den dynamisk via script... Og sætte dens farve og størrelse og lignende...

// lidt initialisering
size = 3;
bricksize = 20;
start_x = 50;
start_y = 50;
fade_steps = 5;
interval = 3;
colour = 0x7700FF;
unique = 0;

// clip event for placerede movieclips...
default_clip_event = function() {
    if (this._alpha < 100) {
        this.alpha = (++this.step/parent.fade_steps);
    }
}

// generér en box på given position og tildel grafik og event
generate_piece = function(x_off,y_off) {
    with (createEmptyMovieClip("box_"+x_off+"_"+y_off, ++unique)) {
        _x = start_x+bricksize*x_off;
        _y = start_y+bricksize*y_off;
        beginFill(colour);
        lineTo(bricksize,0);
        lineTo(bricksize,bricksize);
        lineTo(0,bricksize);
        lineTo(0,0);
        endFill();
        alpha = 0;
        onEnterFrame = default_clip_event;
    }
}

// hoved event handler til at lave box når tid er
this.onClipEvent = function() {
    if (this.counter < this.size*2-1 && ++this.t == this.interval) {
        var x, y = this.size;
        for (x = Math.max(0,this.counter-this.size); i < Math.max(this.counter, this.size); x++, y--) {
            generate_piece(x,y);
        }
        this.counter++;
        this.t = 0;
    }
}



Det er altså ikke testet, så det er nok nogle fejl :o)

/Barklund
Avatar billede robertk Nybegynder
02. januar 2003 - 21:26 #5
Okay tester lige.... ;)
Avatar billede robertk Nybegynder
02. januar 2003 - 21:33 #6
Det virker tilsyneladene ik..... den brokker sig over din onClipEvent function... :/ ehm
Avatar billede robertk Nybegynder
02. januar 2003 - 21:34 #7
men i hva' fald tak for din indsats... :) for ellers ser det da ud som det kunne virke..
Avatar billede robertk Nybegynder
03. januar 2003 - 09:29 #8
Jeg har rodet lidt med det, on nu køre den da ned ad *G* er der ingen som har været ude for noget al a det her før????????

// lidt initialisering
antal = 10;
size = 6;
bricksize = 10;
start_x = 50;
start_y = 50;
fade_steps = 1;
step = 4;
interval = 9;
time = 200;
colour = 0x777777;
unique = 0;
counter = 0;
// clip event for placerede movieclips...
MovieClip.prototype.default_clip_event = function() {
    if (this._alpha<100) {
        this._alpha += _level0.fade_steps;
    }
    else{
        this._alpha = 100;
    }
};
// generér en box på given position og tildel grafik og event
generate_piece = function (x_off, y_off) {
    with (createEmptyMovieClip("box_"+x_off+"_"+y_off, unique++)) {
        this._x = start_x+bricksize*x_off;
        this._y = start_y+bricksize*y_off;
        this.beginFill(colour);
        this.lineTo(bricksize, 0);
        this.lineTo(bricksize, bricksize);
        this.lineTo(0, bricksize);
        this.lineTo(0, 0);
        this.endFill();
        this._alpha = 0;
        this.onEnterFrame = default_clip_event;
        this:alpha = this._alpha;
    }
    //_root["box_"+x_off+"_"+y_off]
};
// hoved event handler til at lave box når tid er
t = 0;
newMovieClip = function () {
    t++;
    var x, y = t;
    generate_piece(x, y);
    if (t>=antal){
        t=0;
        clearInterval(tt);
    }
};
tt = setInterval(newMovieClip, time);
Avatar billede thulstrup Nybegynder
03. januar 2003 - 10:22 #9
Måske du kan bruge det her til noget. Der er lidt af ideen, du skal bare arbejde lidt videre med det:

numOfClips = 3; //antal boxe
currentClip = 0;
boxSize = 75; //box størrelsen
fillColor = 0x310062; // box farven
fadeBoxes = function () {
    if (currentClip<numOfClips) {
        ypos = 0;
        xpos = currentClip*boxSize;    // x afstanden mellem boxene
        //ypos = currentClip*boxSize; // y afstanden mellem boxene       
        alpha = 0;
        clip = _root.createEmptyMovieClip("myshapeMc"+currentClip, currentClip);
        clip._x = xpos;    // den nuværende x position
        clip._y = ypos;    // den nuværende y position
        clip.onEnterFrame = function() {
            if (alpha<100) {
                this.moveTo(0, 0);
                this.beginFill(fillColor, alpha);
                this.lineTo(boxSize, 0);
                this.lineTo(boxSize, boxSize);
                this.lineTo(0, boxSize);
                this.lineTo(0, 0);
                this.endFill();
            } else {
                delete this.onEnterFrame;
            }
            alpha += 5; // hastigheden boxene fader ind med
        };
        currentClip++;
    }
};
setInterval(fadeBoxes, 250); //hastigheden hvormed boxene bliver tilføjet
stop();
Avatar billede robertk Nybegynder
03. januar 2003 - 13:37 #10
Tak tak.. jeg ved ikke, jeg har nok ikke sagt det helt på den rette måde, for det skal bruges som en component, jeg bare kan hive ud fra mit libery og bruge.. måden i har lavet det på, genrere den jo selv en box, og det kan jeg nok ikke bruge.. hmm.. (Ja det er sku lidt en hård negl)

:)
Avatar billede robertk Nybegynder
03. januar 2003 - 15:30 #11
Hej igen drenge...! ;)

Nu er kasserne genereret men der er dog stadig et problem.. :/

hvis i kigger på nedenstående og kan tyde det har jeg for søgt mig på at give de enkelte kasser id numre "idNr" som jeg gerne ville kunne styre faden med..

den virker på sin vis også men der kommer bare kun 6 kasser frem..... :( hjælp!!!

////////////////////////////////////////////////////////////////////////
//Antal boxe
bred = 20;
//
//Box Bredte
boxSize = 5;
//
//start pos x,y
ypos = 0;
xpos = 0;
fillColor = 0x666666;
//
//Opasity
alpha = 0;
maxAlpha = 100;
fadeSpeed = 10;
//
//De skal bare være der
activeMov = 0;
currentClip = 0;
numOfClips = Number(bred*bred);
//
//////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////
function fadeBoxes(id, xpos, ypos) {
    if (currentClip<numOfClips) {
        clip = _root.createEmptyMovieClip("myMc"+currentClip, currentClip);
        clip._x = xpos;
        clip._y = ypos;
        clip.idNr = id;
        clip.onEnterFrame = function() {
            if (this.idNr<_level0.activeMov) {
                if (alpha<maxAlpha) {
                    this.moveTo(0, 0);
                    this.beginFill(fillColor, alpha);
                    this.lineTo(boxSize, 0);
                    this.lineTo(boxSize, boxSize);
                    this.lineTo(0, boxSize);
                    this.lineTo(0, 0);
                    this.endFill();
                } else {
                    delete this.onEnterFrame;
                    this._alpha = maxAlpha;
                }
                alpha += fadeSpeed;
                // hastigheden boxene fader ind med
            }
        };
        trace(clip._alpha);
        currentClip++;
    }
}
///////////////////////////////////////////////////////
//
///////////////////////////////////////////////////////
//Her generere jeg kasserne og giver dem id nr...
for (t=0; t<bred-1; t++) {
    for (i=1; i<bred; i++) {
        strTal = i+t;
        ypos = t*boxSize;
        xpos = i*boxSize;
        fadeBoxes(strTal, xpos, ypos);
    }
    ypos += boxSize;
    xpos = 0;
}

//Styring af animation..
function act() {
    if (activeMov<numOfClips) {
        activeMov++;
    } else {
        clearInterval(tt);
    }
}
tt = setInterval(act, 2000);
Avatar billede robertk Nybegynder
03. januar 2003 - 15:54 #12
sorry... denne her virker bedre men kan bare ikke få den til at gå længere... det variere efter hvor meget jeg sætter intervalet til...!! :/

////////////////////////////////////////////////////////////////////////
//Antal boxe
bred = 10;
//
//Box Bredte
boxSize = 15;
//
//start pos x,y
ypos = 100;
xpos = 100;
fillColor = 0x666666;
//
//Opasity
alpha = 0;
maxAlpha = 100;
fadeSpeed = 1;
//
//De skal bare være der
activeMov = 0;
currentClip = 0;
numOfClips = Number(bred*bred);
//
//////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////
function fadeBoxes(id, xpos, ypos) {
    if (currentClip<numOfClips) {
        clip = _root.createEmptyMovieClip("myMc"+currentClip, currentClip);
        clip._x = xpos;
        clip._y = ypos;
        clip.idNr = id;
        clip.onEnterFrame = function() {
            if (this.idNr<activeMov) {
                if (alpha<maxAlpha) {
                    this.moveTo(0, 0);
                    this.beginFill(fillColor, alpha);
                    this.lineTo(boxSize, 0);
                    this.lineTo(boxSize, boxSize);
                    this.lineTo(0, boxSize);
                    this.lineTo(0, 0);
                    this.endFill();
                } else {
                    this._alpha = maxAlpha;
                    delete this.onEnterFrame
                }
                alpha += fadeSpeed;
                // hastigheden boxene fader ind med
            }
        };
        currentClip++;
    }
}
///////////////////////////////////////////////////////
//
///////////////////////////////////////////////////////
//Her generere jeg kasserne og giver dem id nr...
for (t=0; t<bred-1; t++) {
    for (i=1; i<bred; i++) {
        strTal = i+t;
        ypos = t*boxSize;
        xpos = i*boxSize;
        fadeBoxes(strTal, xpos, ypos);
    }
    ypos += boxSize;
    xpos = 0;
}

//Styring af animation..
function act() {
    if (activeMov<numOfClips) {
        activeMov++;
    }
}
tt = setInterval(act, 100);
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