Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-12-2003, 11:41   #1 (permalink)
this.onEnterFame
 
Benutzerbild von RedSaint
 
Registriert seit: Feb 2002
Ort: Jetzte: Stuttgart
Beiträge: 1.666
phänomen! falsche addition / subtraktion

hi hi,

ich hab einen mc den ich über subtraktion bzw. addition hin und herbewege:


auf dem mc:
ActionScript:
  1. onClipEvent (load) {
  2.     _root.zielx = this._x;
  3.     speed = 8;
  4. }
  5. onClipEvent (enterFrame) {
  6.     this._x += (_root.zielx-this._x)/speed;
  7.  
  8. }

mit 2 buttons weise ich den entsprechenden wert zu:

1. on(press){
_root.zielx=-308;
}
2.on(press){
_root.zielx=-242.75;
}


-> das phänomen ist nun, dass flash mir beim _root.zielx=-242.75 nicht bis auf meine zahl runterzähl!!! sondern nur bis 242.4 !!!

ich bin das mal durch ausprobieren umgangen und hab jetzt um 243.1 erhöht...dann landet mein mc nämlich da wo er hingeört (242.75)

-> aber woher kommt das ? ist doch eine ganz simple berechnung...warum werden da IMMER 0,25 - 0,35 in den kommastellen verschluckt???

-> an der kommastelle ansich (von wg gerade koordinaten) liegts nicht , denn wenn ich _root.zielx=-242 setzte, wandert mein mc nur auf 241.65 -> also 0.35 zu wenig !!!!



hat da jemand ne erklärung oder soll ich an macromedia schreiben, dass mein "Texasinstruments-taschenrechner" besser subtrahieren und addieren kann als flash ? und dass ich nicht damit einverstanden bin meine nachkommastellen an die macromedia gewerkschaft abzuführen ...


grüße

_RED_
__________________
_may the force be with you_
.................................................. .........
on Fire 2008
.................................................. .........

Easy Crime available here
.................................................. .........

_RED_ + Flashforum = Big Love
.................................................. .........

A.K.A: ACHIM 0815

Geändert von RedSaint (03-12-2003 um 11:47 Uhr)
RedSaint ist offline   Mit Zitat antworten
Alt 03-12-2003, 11:47   #2 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
das /speed erzeugt die ungenauigkeit. desto kleiner diese zahl ist, desto geringer wird die ungenauigkeit und umgekehrt....

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 03-12-2003, 11:48   #3 (permalink)
.--. .. ..- ...
 
Benutzerbild von pius
 
Registriert seit: Jul 2002
Ort: munich
Beiträge: 1.345
haha ...
du solltest nicht mit den _x-werten rechnen! die sind nämlich nur auf ein 20stel-Pixel genau !!!
__________________
one out of many
pius ist offline   Mit Zitat antworten
Alt 03-12-2003, 11:52   #4 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
hi red,

ActionScript:
  1. onClipEvent (enterFrame)
  2. {
  3. Math.round(this._x) != _root.zielxthis._x += (_root.zielx-this._x)/speed : this._x=_root.zielx ;
  4.        
  5. }

sollte funzen
warrantmaster ist offline   Mit Zitat antworten
Alt 03-12-2003, 11:59   #5 (permalink)
.--. .. ..- ...
 
Benutzerbild von pius
 
Registriert seit: Jul 2002
Ort: munich
Beiträge: 1.345
ActionScript:
  1. onClipEvent (enterFrame)
  2. {
  3.         Math.round(this._x) != _root.zielxthis._x += (_root.zielx-this._x)/speed : this._x=_root.zielx ;
  4.        
  5. }



noch ein 'delete onEnterFrame' einbauen ....
__________________
one out of many
pius ist offline   Mit Zitat antworten
Alt 03-12-2003, 12:01   #6 (permalink)
.--. .. ..- ...
 
Benutzerbild von pius
 
Registriert seit: Jul 2002
Ort: munich
Beiträge: 1.345
ActionScript:
  1. Math.round(this._x) != _root.zielx

da darf zielx aber nur vom typ int sein ....
__________________
one out of many
pius ist offline   Mit Zitat antworten
Alt 03-12-2003, 12:21   #7 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
Zitat:
Geschrieben von pius
ActionScript:
  1. onClipEvent (enterFrame)
  2. {
  3.         Math.round(this._x) != _root.zielxthis._x += (_root.zielx-this._x)/speed : this._x=_root.zielx ;
  4.        
  5. }



noch ein 'delete onEnterFrame' einbauen ....

naja, dann aber das alles in eine funktion auf root , zum wiederverwenden (sowieso besser )
warrantmaster 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 00:43 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele