Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-02-2004, 14:22   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Beiträge: 405
if abfrage _height/_width

moins folgendes problem:


onClipEvent (enterFrame) {
_root.weiss.diff = _root.weiss.sectiony-_root.weiss._width;
_root.weiss._width += (Math.round(_root.weiss.diff/6));
_root.weiss.diff = _root.weiss.sectionx-_root.weiss._height;
_root.weiss._height += (Math.round(_root.weiss.diff/6));

_root.weiss._width = Math.floor(_root.weiss._width);
_root.weiss._height = Math.floor(_root.weiss._height);

}

zu diesem script kommen noch button befehle wie:

_root.weiss.sectiony=250
_root.weiss.sectionx=250

oder

_root.weiss.sectiony=350
_root.weiss.sectionx=150



bishier hin erstmal gut, nur das die werte 250 nicht erreicht werden,sondern komische koordinaten wie 253x 248 y etc entstehen, in abhängigkeit der letzten größe des films
das liegt am _root.weiss.diff/6, lasse ich das /6 weg nimmt der film zwar die original werte der sectiony/x an, aber es findet keine as animation mehr stadt, der film springt gleich zu der in sectiony/y definierten größe, ich möchte aber, das der film genau die positionen einnimmt die man ihm durch section y/x zuweist und das das als as animation geschieht.

wie bekomme ich es hin das der film _root.weiss die in section y/x definierten werte von height und width annimmt er per as zu der definierten position animiert wird??

danke für ideen und antwort
jerry

Geändert von jerry (15-02-2004 um 14:56 Uhr)
jerry ist offline   Mit Zitat antworten
Alt 15-02-2004, 15:38   #2 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Versteh dich nciht ganz. Wie wär's wenn du mal die FF-AS-Formatierung verwendest? Überignes: Größ- u. Kleinschreibung gibt es selbst nach derRechtschreibreform noch Nur so als Tipp, dann lesen es vielleicht mehr Leute....
johanness ist offline   Mit Zitat antworten
Alt 15-02-2004, 16:03   #3 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
ich habe deinen code etwas entrümpelt!
onClipEvent gehört zu _root.weiss da musst du das nicht noch extra hinschreiben. Math.round rundet und Math.floor rundet. einmal runden langt.
onClipEvent (load), damit der anfangszustand definiert ist. sonst sind die am anfang = 0 und _root.weiss wird ganz klein.
und die 6 in eine variable ist verständlicher und einfacher zu ändern.
Code:
onClipEvent (enterFrame) {
	_width += Math.floor((sectiony-_width)/speed);
	_height += Math.floor((sectionx-_height)/speed);
}
onClipEvent (load) {
	sectionx=_height;
	sectiony=_width;
	speed=6;
}
zur einhaltung eines exakten wertes wirds ohne test nicht gehen
Code:
onClipEvent (enterFrame) {
	_width += (sectiony-_width)/speed;
	_height += (sectionx-_height)/speed;
	//
	if (Math.abs(_width-sectiony)<toll){_width=sectiony}
	if (Math.abs(_height-sectionx)<toll){_height=sectionx}
}
onClipEvent (load) {
	sectionx=_height;
	sectiony=_width;
	speed=6;
	toll=.5;
}

-----
"..Nur so als Tipp, dann lesen es vielleicht mehr Leute.."
oder es antworten leute, dehnen die rechtschreibreform auch am a... vorbei ging. dafür die frage beantworten ;-)
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (15-02-2004 um 16:15 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 16-02-2004, 09:26   #4 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Beiträge: 405
re

jo funktioniert nach einigen modifikationen super.
2 kleinigkeiten die ich nicht verstehe:

1. ich lass mir über trace die werte für width und height ausgeben
und es werden nur die endwerte praktisch bei stillstand gerundet.
bei meinem script war es so, dass auch die werte während der animatión gerundet wurden. kann man das noch irgentwie hinbekommen?

2. das problem ist , das die animation am ende ruckelt wenn "toll" erreicht ist springt der film an die position- sieht komisch aus. ich habe lange mit den zahlen gespielt aber so richtig "soft" wirds nicht. ich müßte das dokument auf 60 frames setzen dann ist es sauber, aber der rest der animation irrsinnig schnell.

danke für antwort jerry
jerry ist offline   Mit Zitat antworten
Alt 17-02-2004, 01:12   #5 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
"..jo funktioniert nach einigen modifikationen super.."
wie jetzt? an MEINEN genialen konstruktionen wird nicht rumgefingert! :-)))

"..nur die endwerte praktisch bei stillstand gerundet.."
da wird garnichts mehr gerundet, weil ich's für unnötig halte :-))

"..am ende ruckelt.."
so ist das leben. am ende ruckelts und du liegst unter der erde.
250 ist nunmal nicht ganzzahlig durch 6 teilbar - da bleibt was übrig sagte adam riesse.

wie währ's denn damit?
Code:
// weiss
onClipEvent (enterFrame) {
 if (Math.abs(_width-sectiony)>Math.abs(dy)) {
  _width = Math.round(_width-dy);
 } else {
  _width = sectiony;
 }
 if (Math.abs(_height-sectionx)>Math.abs(dx)) {
  _height = Math.round(_height-dx);
 } else {
  _height = sectionx;
 }
}
onClipEvent (load) {
 sectionx = _height;
 sectiony = _width;
 dx = 0;
 dy = 0;
 speed = 20;
}
// button
on (release) {
 var z=_root.weiss;
 z.sectiony=50;
 z.sectionx=250;
 z.dy=(z._width-z.sectiony)/z.speed;
 z.dx=(z._height-z.sectionx)/z.speed;
}
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 17-02-2004, 09:59   #6 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Beiträge: 405
re

moins,
jo ich check mal des neue script, sieht ziemlich kompliziert aus!

ahh ich verstehe der wert height etc muß durch die zahl speed zu teilen sein, damits nicht ruckelt !?

nee ich habe nicht in deinem script rumgefuscht, ich mußte nur wieder die _roots vorsetzten da sonst nix funktioniert hat. keine ahnung wie so.

danke erstmal !

jerry
jerry ist offline   Mit Zitat antworten
Alt 17-02-2004, 19:38   #7 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Beiträge: 405
Thumbs up re

jo funzt alles sauber! besten dank.

ohne ausverschämt wirken zu wollen hab ich da noch son script was mir sorgen macht :

onClipEvent (enterFrame) {
p = {x:_parent.weiss.a._x, y:_parent.weiss.a._y};
_parent.weiss.localToGlobal(p);

if(Math.abs(p.x-_root.menu._x)>10) {
this._x+=(p.x-this._x-10)
}else{
this._x=p.x-10
}

if(Math.abs(p.y-_root.menu._y)>10){
this._y+=(p.y-this._y)
}else{
this._y=p.y

}
this._x = Math.floor(this._x);
this._y = Math.floor(this._y);

}

dieses kleine script hat zur folge das "this" "weiß" im entsprchenden abstand folgt so weit gut, nur das ganze läuft mir zu statisch ab- sieht so hölzern aus.

ich wünschte mir das this mit kurzer zeitverzögerung volgt und die bewegungen soft ablaufen irgentwie wie son wabbel effect, kennt man doch von diesen unzähligen mausverfolgern.

hast du ne idee??

danke für antwort

jerry
jerry 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 15:32 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele