| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| lernwillig Registriert seit: Jan 2002 Ort: auf dem Land
Beiträge: 1.327
| Gummiseil mit Maus anfassen
Hallo, das folgende schöne Skript von Flashstar (Danke @ Madokan!) lässt ein Gummiband schnellen. Damit es noch realistischer wird, wollte ich es gerne mit der Maus richtig "packen", wegziehen und dann erst loslassen. Bei dieser Version lässt sich die Maus auch vom Gummiband entfernen. Weiss jemand, wie sich das Skript ummodeln lässt? Danke im voraus 23012 Code: /*
Gummiband
*/
dicke = 1;
posX1 = 0;
posY1 = 200;
posX2 = 400;
posY2 = 200;
// Gum-Faktor
gummi = 0.1;
faktor = 1-gummi;
cx = tx = (posX2+posX1)/2;
cy = ty = (posY2+posY1)/2;
vx = vy = 0;
onMouseDown = function () {
cx = _xmouse;
cy = _ymouse;
drag=true;
}
onMouseUp = function () {
drag=false;
}
onMouseMove = function () {
if (drag) {
cx = _xmouse;
cy = _ymouse;
}
}
onEnterFrame = function () {
clear();
lineStyle(dicke,0x000000,100);
moveTo(posX1,posY1);
vx = (tx-cx)*gummi + vx*faktor;
vy = (ty-cy)*gummi + vy*faktor;
if (!drag) {
cx += vx;
cy += vy;
}
curveTo(cx,cy,posX2,posY2);
} |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
"..richtig "packen".." solange du an einem gummiband ziehst, wird dieses wohl kaum durchgebogen sein. also einfach zwei lineTo anfang-maus und maus-ende und erst beim loslassen mit curveTo zeichnen.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #3 (permalink) |
| Banned Registriert seit: Jan 2006
Beiträge: 849
| PHP-Code: |
| | |
| | #4 (permalink) |
| lernwillig Registriert seit: Jan 2002 Ort: auf dem Land
Beiträge: 1.327
|
Hallo, danke @ _level0 für das praktische Beispiel - das reicht für meine Bedürfnisse. (Obwohl ich hgseib Recht geben muss - so richtig realistisches "Ziehen" ist das nicht. Dazu müsste das Seil gestrafft werden.) Na, ich probier noch'n bisschen rum... Gruss 23012 |
| | |
| | #5 (permalink) | |
| Banned Registriert seit: Jan 2006
Beiträge: 849
| Zitat:
stört dich nun noch das man klicken kann und das band dorthin springt oder ein sonstiges verhalten | |
| | |
| | #6 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
naja, so richtig 'realistisch' wird es dadurch auch nicht ;-) ist ja wohl auch nur als beispiel gedacht gewesen. das müsste dann in ruhestellung etwas durchhängen, die schwingung müsste etwas spitzer sein und es müsste mehrere wellen geben. Code: dicke = 1;
posX1 = 100;
posY1 = 200;
posX2 = 400;
posY2 = 200;
clear();
lineStyle(dicke, 0);
moveTo(posX1, posY1);
lineTo(posX2, posY2);
gummi = 0.1;
faktor = 1-gummi;
tx = (posX2+posX1)/2;
ty = (posY2+posY1)/2;
vx = vy=0;
//
onMouseDown = function () {
onEnterFrame = function () {
cx = _xmouse;
cy = _ymouse;
clear();
lineStyle(dicke, 0);
moveTo(posX1, posY1);
lineTo(cx, cy);
lineTo(posX2, posY2);
};
};
onMouseUp = function () {
onEnterFrame = function () {
clear();
lineStyle(dicke, 0x000000, 100);
moveTo(posX1, posY1);
vx = (tx-cx)*gummi+vx*faktor;
vy = (ty-cy)*gummi+vy*faktor;
if (!drag) {
cx += vx;
cy += vy;
}
curveTo(cx, cy, posX2, posY2);
};
};
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (26-03-2006 um 22:14 Uhr) |
| | |
| | #9 (permalink) |
| [Matthias K.] - Moderator Registriert seit: Jun 2001 Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
|
Hehe ich sag nur - immer ist das Gummi schuld. Ich schau mal, sobald ich Zeit habe werd ich neue Experimentals zum Thema hier und auf flashstar.de posten. ![]() Liebe Grüsse Matze K. |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |