Avatar billede jahamnej Nybegynder
23. juni 2008 - 15:33 Der er 2 kommentarer og
1 løsning

Tjek om bruger ryster drag-mc

Hej allesammen,

Er der nogen der kan hjælpe mig til en smart måde man kan tjekke om man ryster et movieclip, som man allerede har samlet op med drag metoden...

Lad mig uddybe. Det jeg forsøger at lave er at man kan samle forskellige objekter op og placere dem hvor man har lyst. Men hvis man har et samlet op og endnu ikke har release'et det, skal man ryste det for at kalde en function, som f.eks åbner objektet.

Hvordan kan man tjekke på hvornår movieclip bliver rystet? Og er det overhovedet muligt?

Indtil videre ser min kode således ud...

_root.myMC.ease = 2;
_root.myMC.onPress = function() {
this.drag = true;
};
_root.myMC.onEnterFrame = function() {
if (this.drag == true) {
this.targX = _root._xmouse;
this.targY = _root._ymouse;
}
if (this._x != this.targX | this._y != this.targY) {
this._x += (this.targX-this._x)/this.ease;
this._y += (this.targY-this._y)/this.ease;
}
};
_root.myMC.onMouseUp = function() {
this.drag = false;
};
Avatar billede alexander_j Nybegynder
23. juni 2008 - 23:48 #1
Sjov lille opgave :-D

Nedenstående gør noget alá det du efterspørger.

Vh/Alexander

this.createEmptyMovieClip("mc", 1);
this.mc.lineStyle(1,0x000000,100); this.mc.beginFill(0xFF0000,100);
this.mc.moveTo(0,0); this.mc.lineTo(50,0); this.mc.lineTo(50,50); this.mc.lineTo(0,50); this.mc.lineTo(0,0);
this.mc.endFill();
this.mc.createTextField( "tf", 1, 0, 10, 50, 30 ); fmt = new TextFormat(); fmt.bold = true; fmt.size = 22; fmt.color = 0xFFFFFF; fmt.align = "center";
this.mc.onRelease = function() { delete this.onEnterFrame; };

this.mc.onPress = function() {
    this.shake = 0;
    this.x = this.x2 = this._x;
    this.y = this.y2 = this._y;
    this.onEnterFrame = function() {
        if ( this.shake < 25 ) this.tf.text = this.shake;
        else this.tf.text = "done";
        this.tf.setTextFormat(fmt);
       
        this._x = this._parent._xmouse - this._width/2;
        this._y = this._parent._ymouse - this._height/2;
       
        if ( this._x > this.x + 5 or this._x < this.x - 5 ) {
            if ( ( this._x > this.x and this._x < this.x2 ) or ( this._x < this.x and this._x > this.x2 ) ) {
                this.shake++;
                this.x2 = this.x;
            };
            this.x = this._x;
        };
        if ( this._y > this.y + 5 or this._y < this.y - 5 ) {
            if ( ( this._y > this.y and this._y < this.y2 ) or ( this._y < this.y and this._y > this.y2 ) ) {
                this.shake++;
                this.y2 = this.y;
            };
            this.y = this._y;
        };
    };
};
Avatar billede jahamnej Nybegynder
24. juni 2008 - 11:12 #2
Hej Alexander,

Tusinde tak for hjælpen, det var jo lige det jeg søgte. Og nemt at rette til =]
Avatar billede alexander_j Nybegynder
24. juni 2008 - 17:53 #3
Det var så lidt :-D Held og lykke med projektet - hvis det bliver godt så læg et link i tråden her.
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

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