Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-07-2004, 19:45   #1 (permalink)
anwesend
 
Benutzerbild von TeeRackz
 
Registriert seit: Jun 2002
Ort: Manhattan an der Maas
Beiträge: 698
as-menue vertikal abbremsen bei mcKnopf._y =0, ff schon nach y_gop durchsucht

nabend.
habe gross problem. bin schon seit zwei tagen am knobeln und hänge derbe fest
Habe ein vertikales menue mit mehreren mc_buttons. bei klick auf einen button wandern alle buttons nach oben, bis der geklickte die position _y=0 erreicht. mc_buttons die oben aus dem bild wandern, werden unten wieder angehängt.
die bewegung läuft linear mit einer konstanten geschwindigkeit.
smoother wirkt das ganze natürlich wenn die mcs zum y.nullpunkt hin langsamer werden.
Genau da liegt das Problem: da ich mit pixel-schriften arbeite und es wichtig ist das der nullpunkt exakt getroffen wird müsste ich mit integren zahlen arbeiten. ich kriegs einfach nicht hin, das die mcs gleichmässig beschleunigen und exakt positioniert werden kann wer helfen?
die einträge im ff zu yugop +abbremsen haben mir nicht wirklich weitergeholfen, da die bewegungen mauspositions abhängig sind und ich es als noob nicht peile das auf mein problem umzusetzen
__________________
imho

Geändert von TeeRackz (20-07-2004 um 19:53 Uhr) Grund: fehler
TeeRackz ist offline   Mit Zitat antworten
Alt 20-07-2004, 20:35   #2 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Wie wäre es wennst ein wenig script zu gucken lädst
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 20-07-2004, 20:45   #3 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Werter rostiger Freund, kuckstu: vertikales scrollen mit bremse macht brei


(sollte doch das gleiche sein, oder...?)
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 21-07-2004, 00:51   #4 (permalink)
anwesend
 
Benutzerbild von TeeRackz
 
Registriert seit: Jun 2002
Ort: Manhattan an der Maas
Beiträge: 698
Code:
var mengeAnMCs = 28;
onEnterFrame = function () {
	if (this[knopf]._y>0) {
		for (i=1; i<=28; i++) {
			this[i]._y -= 2;
		}
	}
	for (i=1; i<=28; i++) {
		if (this[i]._y<=(-16)) {
			this[i]._y = 432;
		}
	}
};
das script wird durch klick auf einen der mcs 1-28 ausgelöst,
Code:
on(press){
        _parent.knopf=28;
       
}
statt der this[i]._y-=2
will ich etwas wie this[i]._y= Math.Round(this[i]._y*0.02)
haut aber überhaupt nicht hin. der mc[knopf] hält nicht genau bei 0 und die auf _y=432 neu gesetzten mcs überlagern sich unregelmässig
__________________
imho

Geändert von TeeRackz (21-07-2004 um 10:28 Uhr)
TeeRackz ist offline   Mit Zitat antworten
Alt 21-07-2004, 10:29   #5 (permalink)
anwesend
 
Benutzerbild von TeeRackz
 
Registriert seit: Jun 2002
Ort: Manhattan an der Maas
Beiträge: 698
weiss niemand rat
__________________
imho
TeeRackz ist offline   Mit Zitat antworten
Alt 21-07-2004, 18:00   #6 (permalink)
anwesend
 
Benutzerbild von TeeRackz
 
Registriert seit: Jun 2002
Ort: Manhattan an der Maas
Beiträge: 698
nichtmal ein ansatz?
__________________
imho
TeeRackz ist offline   Mit Zitat antworten
Alt 22-07-2004, 09:48   #7 (permalink)
anwesend
 
Benutzerbild von TeeRackz
 
Registriert seit: Jun 2002
Ort: Manhattan an der Maas
Beiträge: 698
Warum antwortet niemand?
__________________
imho
TeeRackz ist offline   Mit Zitat antworten
Alt 22-07-2004, 14:53   #8 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Sorry bin Imo sehr beschäftigt, dachte eigentlich das sich evtl. jemand anderes mit Deinem Prob. auseinander setzen würde!
Hab schnell einen kleinen test gemacht, und die _y positionen getraced, geben alle gerade koorinaten aus!!
Ich hab die aber auch auf geraden sterten lasssen!!
ActionScript:
  1. var anzahl = 6;
  2. for (var i = 0; i<anzahl; i++) {
  3.     _root["mc"+i].onEnterFrame = function() {
  4.         this._y += 2;
  5.         if (this._y>410) {
  6.             this._y = -10;
  7.         }
  8.     };
  9. }
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 22-07-2004, 15:23   #9 (permalink)
anwesend
 
Benutzerbild von TeeRackz
 
Registriert seit: Jun 2002
Ort: Manhattan an der Maas
Beiträge: 698
hmm, nunja...ähhh, danke erstmal für deine zuwendung
nach meinem verständnis bewirkt das script das selbe wie das obrige, oder? die mcs werden um den faktor 2 nach oben verschoben.
ich möchte nun aber ein abbremsen der bewegung haben.
noch mal zur erläuterung zum obrigen script:
bei klick auf mc (1-28) wandern alle mcs nach oben bis der geklickte ._y=0 erreicht. so soll es sein. aber die bewegung soll nicht durch verschiebung durch einen festen wert(2) entstehen, sondern am anfang schnell laufen und bei näherung des geklickten mcs zum 0-punkt abbremsen.
dachte an etwas wie mc._y=mc._y-mc._y*0.02 osä.
dadurch bekomme ich zwar eine beschleunigte bewegung, der wert 0 wird aber nie genau erreicht und somit positioniert sich der geklickte mc falsch. ebenso das neu setzen bei neu positionieren der mcs auf y=410 ist nicht gleichmässig. Auch bei math.round kommt der geklickte nicht genau bei 0 zum stehen und die unten neu gesetzten mcs überlagern sich.
__________________
imho
TeeRackz ist offline   Mit Zitat antworten
Alt 22-07-2004, 15:31   #10 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
du könntesst das mit deinem *0.02 ja machen und wenn der mc eine gewisse nähe erreicht hat (if-schleife), ihm einen festen wert zu weisen!
pape ist offline   Mit Zitat antworten
Alt 22-07-2004, 17:32   #11 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Schau mal des könnte ein ansatz sein!!
ActionScript:
  1. var anzahl = 6;
  2. var press_btn;
  3. for (var i = 0; i<anzahl; i++) {
  4.     _root["mc"+i].onPress = function() {
  5.         press_btn = this;
  6.         for (var i = 0; i<anzahl; i++) {
  7.             _root["mc"+i].onEnterFrame = function() {
  8.                 this._y -= press_btn._y*0.05;
  9.                 if (Math.ceil(press_btn._y) == 0) {
  10.                     delete this.onEnterFrame;
  11.                 }
  12.             };
  13.         }
  14.     };
  15. }
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 22-07-2004, 17:45   #12 (permalink)
anwesend
 
Benutzerbild von TeeRackz
 
Registriert seit: Jun 2002
Ort: Manhattan an der Maas
Beiträge: 698
ui, das sieht ja mal gut aus *megafreu*
gleich mal testen
__________________
imho
TeeRackz ist offline   Mit Zitat antworten
Alt 22-07-2004, 21:14   #13 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Wie Du evtl. schon bemerkt hast ist da noch ein Bug drinne!!

Ich bin aber noch dran den auszumertzen,
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 23-07-2004, 00:50   #14 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
So mein Freund!!
kelor konnte des problem dann doch noch lösen!!
ActionScript:
  1. var anzahl = 6;
  2. var press_btn;
  3. var speed=40;
  4. for (var i = 0; i<anzahl; i++) {
  5.     _root["mc"+i].onPress = function() {
  6.         press_btn = this;
  7.         var mc = this.createEmptyMovieClip('control', 1234);
  8.         mc.onEnterFrame = function() {
  9.             if (Math.floor(press_btn._y)>0) {
  10.                 var diff = press_btn._y;
  11.                 for (var i = 0; i<anzahl; i++) {
  12.                     var butt = _root['mc'+i];
  13.                     butt._y += Math.floor((0-Math.floor(diff))/speed);
  14.                 }
  15.             } else {
  16.                 delete this.onEnterFrame;
  17.             }
  18.         };
  19.     };
  20. }
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 23-07-2004, 01:00   #15 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
Zitat:
kelor konnte des problem dann doch noch lösen!!



gerne geschehen...so unter kollegen...



greetz

kelor
kelor ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele