Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28-01-2004, 14:26   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Beiträge: 405
Math.round Marh.floor

moins,
ich habe 2 as scripte die ich einfach nicht miteinander kombiniert bekomme.

es geht im wesentlichen darum die _y & _x positionen eines mc
auf ganze zahlenwerte zu runden, dazu habe ich math.round und math.floor benutzt nun habe ich aber nen 2. script und da wirds zu komplizirt für mich.

ich habe nen beispiel gebastelt aus dem das problem schnell ersichtlicht wird.
>>die zahlenwerte nach dem komma sollen verschwinden>>

hier mal die scripts:

onClipEvent (enterFrame) {
this.a = this.sectiony-this._y;
this._y += (Math.floor(Math.round(this.a/30)));
this.a = this.sectionx-this._x;
this._x += (Math.floor(Math.round(this.a/30)));
this.ausgabe=(this._x + " " + this._y );
}


onClipEvent (enterFrame) {

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

if(Math.abs(p.x-this._x)>1) {
this._x+=(p.x-this._x)/2
}else{
this._x=p.x
}

if(Math.abs(p.y-this._y)>1){
this._y+=(p.y-this._y)/2
}else{
this._y=p.y

this.ausgabe=(this._x + " " + this._y );
}
}

und die fla:




besten dank für antwort

jerry
Angehängte Dateien
Dateityp: zip scale mx.zip (5,2 KB, 1x aufgerufen)
jerry ist offline   Mit Zitat antworten
Alt 28-01-2004, 14:44   #2 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
ich verstehe dein konkretes Problem nicht. Was ist zu kompliziert?
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 28-01-2004, 21:05   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Beiträge: 405
re

> die komnination der 2 scripte so dass ein script dabei rauskommt<


die _x und _y koordinaten des filmes "menu" werden nicht gerundet wie beim film "test"

das script des filmes "test" hätte ich gerne wit dem script des filmes "menu" kombiniert, so dass die _x _y werte des films "menu" ebenfalls ohne kommastelle angegeben werden
also nur aus "ganzen" zahlen wiedergegeben werden


jerry
jerry ist offline   Mit Zitat antworten
Alt 29-01-2004, 00:08   #4 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
aber wieso soll ein Skript dabei rauskommen, wo beide doch was unterschiedliches machen....?

Und Math.floor() kannst du im 2. doch auch anwenden:

ActionScript:
  1. onClipEvent (enterFrame) {
  2.  
  3. p = {x:_parent.weiss.a._x, y:_parent.weiss.a._y};
  4. _parent.weiss.localToGlobal(p);
  5.  
  6. if(Math.abs(p.x-this._x)>1) {
  7. this._x+=(p.x-this._x)/2
  8. }else{
  9. this._x=p.x
  10. }
  11.  
  12. if(Math.abs(p.y-this._y)>1){
  13. this._y+=(p.y-this._y)/2
  14. }else{
  15. this._y=p.y
  16. this.ausgabe=(this._x + " " + this._y );
  17. }
  18. this._x = Math.floor(this._x);
  19. this._y = Math.floor(this._y);
  20. }
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 29-01-2004, 10:59   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Beiträge: 405
re

ja sicherlich reinschreiben kann man es nur ohne erfolg, da die kommastelle bleibt, was wie gesagt genau das problem darstellt.

nun im script 1 funktioniert es mit der rundung der kommastelle auf null, im script 2 nicht. deshalb dachte ich es macht eine kombination aus beiden sinn.

vielleicht kennst du aber auch eine andere lösung des problems.
ich will lediglich das die _y und _x werte ohne kommastelle wiedergegeben werden( wie im film test zu sehen ist)

danke für antwort

jerry
jerry ist offline   Mit Zitat antworten
Alt 29-01-2004, 11:11   #6 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
nein, es werden lediglich Nachkommastellen angezeigt, weil die Ausgabe vor dem Math.floor() stattfindet.

ActionScript:
  1. onClipEvent (enterFrame) {
  2.        
  3.         p = {x:_parent.weiss.a._x, y:_parent.weiss.a._y};
  4.         _parent.weiss.localToGlobal(p);
  5.        
  6.         if(Math.abs(p.x-this._x)>1) {
  7.                 this._x+=(p.x-this._x)/2
  8.         }else{
  9.                 this._x=p.x
  10.         }
  11.        
  12.         if(Math.abs(p.y-this._y)>1){
  13.                 this._y+=(p.y-this._y)/2
  14.         }else{
  15.                 this._y=p.y
  16.                         }
  17.         this._x = Math.floor(this._x);
  18.         this._y = Math.floor(this._y);
  19. this.ausgabe=(this._x + " " + this._y );
  20.  
  21. }
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 29-01-2004, 12:15   #7 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Beiträge: 405
Lightbulb

ahh ick verstehe!

besten dank!

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 19:50 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele