Avatar billede elnino Nybegynder
21. juli 2002 - 20:18 Der er 4 kommentarer og
1 løsning

collision

Jeg vil gerne lave noget med en MC man kan dragge rundt på scenen, give slip på så fortsætter den og kan ryge ind i vægge osv.

Jeg er lidt i tvivl om fremgangsmåden.

Jeg har lavet en clip event der hele tiden ser hvor meget min MC har bevæget sig siden sidst og dividere det med en timer som giver mig en gennemsnits hastighed. Jeg bruger så gennemsnits hastigheden til at sende mit MC videre med og tager langsomt farten af.

Det virker bare ikke helt. Er der nogle der kender en tutorial eller kan pege mig i den rigtige vej?

tak
ElNiño
Avatar billede barklund Nybegynder
21. juli 2002 - 20:49 #1
Du kan bare hele tiden registrere afstand flyttet siden sidste ryk og derefter gemme den nye x og y... når den ikke trækkes længre, så har du denne afstand, som du kan fortsætte med at bevæge efter og så minimere...

onClipEvent(load) {
    draging = 0;
    last_x = _x;
    last_y = _y;
    diff_x = 0;
    diff_y = 0;
    acc = 0.1;
    min_x = 100;
    max_x = 200;
    min_y = 100;
    max_y = 300
}
onClipEvent(mouseDown) {
    if (this.hitTest(_root._xmouse, _root._ymouse, 1)) {
        this.startDrag(0,min_x,min_y,max_x,max_y);
        dragging = 1;
    }
}
onClipEvent(mouseUp) {
    stopDrag();
    dragging = 0;
}
onClipEvent(enterFrame) {
    if (dragging) {
        diff_x = -last_x+(last_x=_x);
        diff_y = -last_y+(last_y=_y);
    } else if (Math.abs(diff_x) > 0.2 && Math.abs(diff_y) > 0.2) {
        _x += diff_x;
        _y += diff_y;
        diff_x *= (1-acc);
        diff_y *= (1-acc);
        if (_x < min_x) {
            _x = min_x;
            diff_x = -diff_x;
        }
        if (_y < min_y) {
            _y = min_y;
            diff_y = -diff_y;
        }
        if (_x > max_x) {
            _x = max_x;
            diff_x = -diff_x;
        }
        if (_y > max_y) {
            _y = max_y;
            diff_y = -diff_y;
        }
    }
    updateAfterEvent();
}

(testet kode, der virker :o)

/Barklund
Avatar billede barklund Nybegynder
21. juli 2002 - 20:49 #2
<svar />
Avatar billede elnino Nybegynder
22. juli 2002 - 11:36 #3
Rigtig fedt - tak. Nu vil jeg se om jeg kan få to bolde til at hoppe rundt derinde...

/ElNiño
Avatar billede barklund Nybegynder
22. juli 2002 - 11:41 #4
Hvis de også skal bounce mere realistisk med tyngdekraft og så videre, så vil jeg foreslå den store guru bit-101's tutorials på www.bit-101.com (uhyggeligt fedt site - kig under lab eller tutorials...)
Avatar billede barklund Nybegynder
22. juli 2002 - 11:44 #5
Ellers tak for point :o)
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