| |||||||
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) |
| FlashForRum Registriert seit: Oct 2004 Ort: börlinn
Beiträge: 583
| ...wackelpeter!
aloah folx! ich hab mir nen prototypen geschrieben, der figuren "skanken" lässt. die figur hat kopp, koerper.oberkoerper und koerper.unterkoerper. z.B. _root.figur.kopp.hibbeln() startet den prototyp. watch it ´ere PHP-Code: klappt soweit auch. mein einziges problem is, dass ich diesen bounceout-wert nicht unter 1 setzen kann (sons hakts irgendwo). dadurch regen die sich immer viel zu schnell wieder ab... wie kann ich diesen bounceout so setzen, dass das bouncen der figuren zwar weiterhin gleichmässig, kontinuierlich abnimmt, aber die figuren länger bouncen? (....if(maxbounce < -1)...das geht doch bestimmt auch noch besser, oder?) ...lassdiesonnerein! st rie
__________________ Geändert von störie (11-05-2006 um 15:45 Uhr) |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
| http://www.seibsprogrammladen.de/fra...ispiele/flash6 -> Wackler und ergänze bitte noch, wie man deinen prototypen zum laufen bringt.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (11-05-2006 um 15:23 Uhr) |
| | |
| | #4 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
lade doch bitte eine fla mit zumindestens einer figur hoch. weil bis man etwas passendes zu deinem programm hinbekommen hat, da hat man das schneller selbst programiert ;-) dann könnte auch jemand nachsehen, wegen: "..bounceout-wert nicht unter 1.."
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #6 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
voila: Code: MovieClip.prototype.hibbeln = function() {
if (!this._parent.bounceflag) {
var maxbounce = this._parent.bouncemax;
bouncer = function (that) {
that.bounceflag = true;
if (Math.abs(that.kopp._y-maxbounce)>that.bounceout) {
deltay = maxbounce-that.kopp._y;
that.kopp._y += deltay/2;
that.koerper.oberkoerper._y += deltay/4;
that.koerper.unterkoerper._yscale -= deltay/2;
} else {
maxbounce = -maxbounce;
if (maxbounce>that.bounceout) {
maxbounce -= that.bounceout;
} else if (maxbounce<-that.bounceout) {
maxbounce += that.bounceout;
} else {
clearInterval(bouncing);
that.bounceflag = false;
}
}
};
var bouncing = setInterval(bouncer, this._parent.bouncespeed, this._parent);
}
};
//
MovieClip.prototype.soul = function() {
this.onRollOver = function() {
this.kopp.hibbeln();
};
};
this.stoerie.bouncemax = 20;
this.stoerie.bounceout = .4;
this.stoerie.bouncespeed = 20;
this.stoerie.soul();
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #8 (permalink) |
| FlashForRum Registriert seit: Oct 2004 Ort: börlinn
Beiträge: 583
|
...und so kann man se auch noch anstacheln... Code: MovieClip.prototype.hibbeln = function() {
if (!this._parent.bounceflag) {
this._parent.maxbounce = this._parent.bouncemax;
this._parent.uk_ol_wid = this._parent.koerper.unterkoerper._width;
var kopp_ol_y = this._y;
var ok_ol_wid = this._parent.koerper.oberkoerper._width;
var ok_ol_y = this._parent.koerper.oberkoerper._y;
bouncer = function (that) {
that.bounceflag = true;
if (Math.abs(that.kopp._y-that.maxbounce)>that.bounceout) {
deltay = that.maxbounce-that.kopp._y;
that.kopp._y += deltay/2;
that.koerper.oberkoerper._y += deltay/8;
that.koerper.oberkoerper._yscale += deltay/8;
that.koerper.unterkoerper._yscale -= deltay/2;
} else {
that.maxbounce = -that.maxbounce;
if (that.maxbounce>that.bounceout) {
that.maxbounce -= that.bounceout;
} else if (that.maxbounce<-that.bounceout) {
that.maxbounce += that.bounceout;
} else {
clearInterval(bouncing);
that.bounceflag = false
that.kopp._y = kopp_ol_y;
that.koerper.oberkoerper._y = ok_ol_y;
that.koerper.oberkoerper._width = ok_ol_wid;
that.koerper.unterkoerper._width = that.uk_ol_wid;
}
}
};
var bouncing = setInterval(bouncer, this._parent.bouncespeed, this._parent);
}
else{
if(Math.abs(this._parent.maxbounce) < this._parent.uk_ol_wid/2){
this._parent.maxbounce += this._parent.maxbounce/5;
}
}
};
__________________ |
| | |
| | #9 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
ok, für einen 'richtigen' prototypen fehlt jetzt noch folgendes (falls du das machen willst): du sprichtst ja jedes mc 'persönlich' an. z.b. that.koerper.oberkoerper ein prototype sollte von soetwas eigentlich unabhängig sein. sprich: das hibbeln müsste jedes mc inclusive seiner sub_mc's hibbeln können.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #10 (permalink) |
| FlashForRum Registriert seit: Oct 2004 Ort: börlinn
Beiträge: 583
|
hmmm... das hatte ich mir auch schon gedacht, besonders weil dann noch haare, hut oder sonstiges bei bedarf ohne weiteres script mitwackeln könnten. auf der anderen seite würde dies aber doch ne menge an zusätzlichen variablen erfordern (was hibbelt, hibbelt es über _y, _yscale oder _y und _yscale)... un da sich nachher diverse leute über einen eingabescreen ihre figur zusammenstellen sollen, wollte ich den "fragebogen" so klein wie möglich halten... da würd mir dann nur ne abfrage innerhalb des prototypens einfalln... aber "richtig" wär das dann auch nich. oder hast du da auch noch ne tolle idee? gruss st rie
__________________ |
| | |
| | #12 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
wie gesagt, musst du wissen, ob du den aufwand betreiben willst (gründe dafür wären: weil du's wissen willst oder weil du sowas ständig brauchst). ansonsten gilt die regel: 'niemals ein funktionierendes system ändern' ;-) passend zu Janoscharlipp: nur die figur selbst hibbeln und die sub_mc's mit z.b. for (var _mc in this) ... abarbeiten. damit die routine weiss was sie machen soll, jedem _mc parameter mitgeben. ähnlich: this.stoerie.bouncemax = 20; this.stoerie.bounceout = .4; this.stoerie.bouncespeed = 20; also so wenig wie unbedingt nötig. lieber mit beziehungen und %ten arbeiten. z.b. this.bouncemax=this._heigth/3; eine andere lösung ist z.b. via namenserkennung z.b. that.koerper.oberkoerper_hibbeln daran kann die routine erkennen, dass dieses mc ge-hibbelt werden soll.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (12-05-2006 um 11:20 Uhr) |
| | |
| | #13 (permalink) |
| FlashForRum Registriert seit: Oct 2004 Ort: börlinn
Beiträge: 583
|
ok. ich lass mir das ma durch den kopf gehen... vielen dank jedenfalls für die schnelle und ergiebige hilfe! ...falls ich s nochmal umschreibe, poste ichs natürlich hier! un jetz geniess ich erstmal meinen neuen laptop ![]() intel celeron, 252 MHz, 192 MB RAM > was das läuft! ...rocknroll! st rie
__________________ |
| | |
| | #14 (permalink) |
| Pixeldipaxeldipux Registriert seit: Dec 2002 Ort: Ruhrmetropole Essen
Beiträge: 7.589
|
Witzig die Hibbelnden!-) Und großartig die Forumschmiede! hgseib sollte Achim werden, nicht wahr, Achim Fehltdawas? Ahrsib ... *Duftmarke absetz*
__________________ Selbstgelerntes ist am Besten! iMac G5/2,1GHz, 2,5GB RAM, 20" Widescreen (1680*1050), MacOS 10.4.11, Safari 4.1, dsl 6000 Achim ...Orient Das Flashforum zu unterstützen ist ganz einfach! |
| | |
| | #15 (permalink) |
| FlashForRum Registriert seit: Oct 2004 Ort: börlinn
Beiträge: 583
|
aloah ahrsib! ja, also etwas kim-chi und n humpen blondes hätt er sich verdient ![]() ...by the way, wann is denn der nächste achim. hab ja VERSPROCHEN da zu sein, und da ich jetzt seit dem ersten in berlin rumtingel muss sowas gut geplant sein. greetz vom achim!
__________________ |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |