Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-10-2004, 11:53   #1 (permalink)
Neuer User
 
Benutzerbild von :: RK ::
 
Registriert seit: Jan 2002
Ort: Umgebung Stuttgart
Beiträge: 5.412
'n kleines Scale Problem

hi,

ich bin grad so 'n bisschen am basteln, gell. nun hab i 'n problem wo i net weiter
gomm. i mach grad so 'n scale ding, gell, und ich kriegs einfach ned na, dass sich
_xscale glei wie _yscale bzw. _yscale glei wie _xscale skalieren. So, und da gomm
i einfach ned weider ... kann mir da einer 'n bisschen weider helfe ??? ... wär echt ned
Angehängte Dateien
Dateityp: zip scale.zip (2,9 KB, 18x aufgerufen)
__________________
Das Glück im Leben hängt von den guten Gedanken ab, die man hat.

Easing_Equations / Flash Kontaktformular / FlashPlugin W3C konform / Nützliche Beiträge zu FAQs
:: RK :: ist offline   Mit Zitat antworten
Alt 03-10-2004, 12:03   #2 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Seit wann kannst du denn gar nimmer deutsch, RK...
Bittesehr:
ActionScript:
  1. MovieClip.prototype.scale = function() {
  2.     this.onEnterFrame = function() {
  3.         var difX = Math.abs(-this._x + this._parent._xmouse);
  4.         var difY = Math.abs(-this._y + this._parent._ymouse);
  5.         var difAbs = Math.sqrt(difX * difX + difY * difY);
  6.         this._xscale = this._yscale = 100 - difAbs
  7.         if (100-difY<=3 || 100-difX<=3) {
  8.             this._xscale = this._yscale=3;
  9.         }
  10.     };
  11. };
__________________
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 03-10-2004, 12:15   #3 (permalink)
Neuer User
 
Benutzerbild von :: RK ::
 
Registriert seit: Jan 2002
Ort: Umgebung Stuttgart
Beiträge: 5.412
hi,

des isch ja der wahnsinn, gell ... danke

was hasch du gegen mein Deutsch, hä ???!!!
__________________
Das Glück im Leben hängt von den guten Gedanken ab, die man hat.

Easing_Equations / Flash Kontaktformular / FlashPlugin W3C konform / Nützliche Beiträge zu FAQs
:: RK :: ist offline   Mit Zitat antworten
Alt 03-10-2004, 12:35   #4 (permalink)
Neuer User
 
Benutzerbild von :: RK ::
 
Registriert seit: Jan 2002
Ort: Umgebung Stuttgart
Beiträge: 5.412
hmm, n problem gibts aber trotzdem noch:

wenn an mit der Maus, auf der x-Achse oder auf der y-Achse dem Kreis näher
kommt, dann funtzt wunderbar, wenn man jedoch dem Kreis diagonal näher kommt
dann gibts 'n fehler. Wie kann man das beheben ???

Einfach mal alle Kreise bis auch einen löschen und den mittig positionieren.
dann sieht mans am besten.
__________________
Das Glück im Leben hängt von den guten Gedanken ab, die man hat.

Easing_Equations / Flash Kontaktformular / FlashPlugin W3C konform / Nützliche Beiträge zu FAQs

Geändert von :: RK :: (03-10-2004 um 12:37 Uhr)
:: RK :: ist offline   Mit Zitat antworten
Alt 03-10-2004, 12:52   #5 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
OK, Update:
ActionScript:
  1. MovieClip.prototype.scale = function() {
  2.     this.onEnterFrame = function() {
  3.         var difX = Math.abs(-this._x + this._parent._xmouse);
  4.         var difY = Math.abs(-this._y + this._parent._ymouse);
  5.         var difAbs = Math.sqrt(difX * difX + difY * difY);
  6.         this._xscale = difAbs <= 100 ? this._yscale = 100 - difAbs : this._yscale = 3;
  7.     };
  8. };
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)

Geändert von sonar (03-10-2004 um 12:53 Uhr)
sonar ist offline   Mit Zitat antworten
Alt 03-10-2004, 12:56   #6 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Stop, nochmal Update, den oEF kann man sich sparen...
ActionScript:
  1. MovieClip.prototype.scale = function() {
  2.     var difX = Math.abs(-this._x + this._parent._xmouse);
  3.     var difY = Math.abs(-this._y + this._parent._ymouse);
  4.     var difAbs = Math.sqrt(difX * difX + difY * difY);
  5.     this._xscale = difAbs <= 100 ? this._yscale = 100 - difAbs : this._yscale = 3;
  6.     updateAfterEvent();
  7. };
  8. for (i = 1; i < 21; i++) {
  9.     this["mc" + i]._alpha = 50;
  10.     this["mc" + i].onMouseMove = this.scale;
  11. }
__________________
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 03-10-2004, 13:30   #7 (permalink)
Neuer User
 
Benutzerbild von :: RK ::
 
Registriert seit: Jan 2002
Ort: Umgebung Stuttgart
Beiträge: 5.412
hat recht, aber kommt ja drauf an, wie das teil animiert wird
leider ist damit mein problem aber nicht gelöst
__________________
Das Glück im Leben hängt von den guten Gedanken ab, die man hat.

Easing_Equations / Flash Kontaktformular / FlashPlugin W3C konform / Nützliche Beiträge zu FAQs

Geändert von :: RK :: (03-10-2004 um 13:31 Uhr)
:: RK :: ist offline   Mit Zitat antworten
Alt 03-10-2004, 13:58   #8 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Ha was isch na dei Broblem?

Das Problem, das ich festgestellt hatte nach der ersten Version, war, dass wenn man eine bestimmte Strecke weg war von dem Kreis, er nochmal kurz größer geworden is... das trat nach dem Update bei mir aber nicht mehr auf...
__________________
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 03-10-2004, 14:12   #9 (permalink)
Neuer User
 
Benutzerbild von :: RK ::
 
Registriert seit: Jan 2002
Ort: Umgebung Stuttgart
Beiträge: 5.412
das meinte ich net.

Wenn du nun, mit deinem Script, die Maus diagonal zum Kreismittelpunkt
bewegst, dann gibts nen kleinen Fehler: der Kreis wird est kleiner wird und
dann wie gewünscht größer.

Jetzt verstanden ???



__________________
Das Glück im Leben hängt von den guten Gedanken ab, die man hat.

Easing_Equations / Flash Kontaktformular / FlashPlugin W3C konform / Nützliche Beiträge zu FAQs
:: RK :: ist offline   Mit Zitat antworten
Alt 03-10-2004, 14:20   #10 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Nö, versteh ich nicht...
Klar, dass der Kreis von seiner Ursprungsgröße, in der du ihn angelegt hast, erstmal auf Minimalgröße schrumpft, sobald die Maus ins Spiel kommt, aber dann tut der doch, was er soll. Er wird größer, und sobald du den Mittelpunkt überschritten hast, wird er halt wieder kleiner...
__________________
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 03-10-2004, 14:35   #11 (permalink)
Neuer User
 
Benutzerbild von :: RK ::
 
Registriert seit: Jan 2002
Ort: Umgebung Stuttgart
Beiträge: 5.412
ok, mach mal genau die bewegungen, die die Pfeile anzeigen. dann siehst du,
dass wenn man sich diagonal zum Kreis hinbewegt, ein Fehler ensteht.

erhöh mal die ausgangsgröße von 3 auf 10, dann sieht mans besser.

Edit:
grad ist mir aufgefallen, dass wenn man das hier nutzt:
ActionScript:
  1. MovieClip.prototype.scale = function() {
  2. this.onEnterFrame = function() {
  3. var difX = Math.abs(-this._x + this._parent._xmouse);
  4. var difY = Math.abs(-this._y + this._parent._ymouse);
  5. var difAbs = Math.sqrt(difX * difX + difY * difY);
  6. this._xscale = this._yscale = 100 - difAbs
  7. if (100-difY<=3 || 100-difX<=3) {
  8. this._xscale = this._yscale=3;
  9. }
  10. };
  11. };
der fehler auftaucht, wie ich ihn beschrieben habe, nämlich dass es nur bei diagonalen bewegungen der fehler auftaucht.



Nutz ich jetzt das hier:
ActionScript:
  1. MovieClip.prototype.scale = function() {
  2. var difX = Math.abs(-this._x + this._parent._xmouse);
  3. var difY = Math.abs(-this._y + this._parent._ymouse);
  4. var difAbs = Math.sqrt(difX * difX + difY * difY);
  5. this._xscale = difAbs <= 100 ? this._yscale = 100 - difAbs : this._yscale = 3;
  6. updateAfterEvent();
  7. };
  8. for (i = 1; i < 21; i++) {
  9. this["mc" + i]._alpha = 50;
  10. this["mc" + i].onMouseMove = this.scale;
  11. }
dann passiert das sowohl bei diagonalen als auch senkrechten bewegungen.
Angehängte Grafiken
Dateityp: jpg scale.jpg (47,6 KB, 13x aufgerufen)
__________________
Das Glück im Leben hängt von den guten Gedanken ab, die man hat.

Easing_Equations / Flash Kontaktformular / FlashPlugin W3C konform / Nützliche Beiträge zu FAQs

Geändert von :: RK :: (03-10-2004 um 14:42 Uhr)
:: RK :: ist offline   Mit Zitat antworten
Alt 03-10-2004, 14:41   #12 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Ich seh kein' Fehler bei mir...
__________________
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 03-10-2004, 14:43   #13 (permalink)
Neuer User
 
Benutzerbild von :: RK ::
 
Registriert seit: Jan 2002
Ort: Umgebung Stuttgart
Beiträge: 5.412
kann nicht sein, beweg die maus ganz langsam.
__________________
Das Glück im Leben hängt von den guten Gedanken ab, die man hat.

Easing_Equations / Flash Kontaktformular / FlashPlugin W3C konform / Nützliche Beiträge zu FAQs
:: RK :: ist offline   Mit Zitat antworten
Alt 03-10-2004, 14:48   #14 (permalink)
Neuer User
 
Benutzerbild von :: RK ::
 
Registriert seit: Jan 2002
Ort: Umgebung Stuttgart
Beiträge: 5.412
nimm mal die datei und teste sie: geh mal von der linke seit aus, ganz langsam
waagrecht nach rechts, dann sieht mans ganz gut.
Angehängte Dateien
Dateityp: zip scale2.zip (2,9 KB, 11x aufgerufen)
__________________
Das Glück im Leben hängt von den guten Gedanken ab, die man hat.

Easing_Equations / Flash Kontaktformular / FlashPlugin W3C konform / Nützliche Beiträge zu FAQs
:: RK :: ist offline   Mit Zitat antworten
Alt 03-10-2004, 14:52   #15 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Aah, schwere Geburt, habs schon gesehen. Wenn man sich difAbs tracen lässt, sieht man, dass das genau dann passiert, wenn die 100 überschritten wird, was ja eigentlich klar is - dann wird _xscale und _yscale kurz auf 100 - 100 --> 0 gesetzt...

Tausch mal das hier aus, dann isses behoben:
ActionScript:
  1. this._xscale = difAbs <= 97 ? this._yscale = 100 - difAbs : this._yscale = 3;
__________________
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
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 01:13 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele