Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-06-2005, 17:12   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: münchen
Beiträge: 56
Dynamisches Scalieren

Hallo an euch da draussen.
Habe eine Function geschrieben zum scalieren eines mc´s. Habe hierbei folgendes Problem, das die Skalierung in der _xscale funktioniert und die _yscale unberechenbar reagiert. Brauche diese Funktion um ein MC auf eine bestimmte Größe zu setzen. Hat jemand eine Idee warum das nicht so ganz funzt, oder einen Ansatz um hier prozentzahlen einzusetzen.

Hier das Script:
__________________________________________________ _________

Movieclip.prototype.scale = function(xscale, yscale, sspeed) {
this.onEnterFrame = function() {
this._width += (xscale-this._width)/sspeed;
this._height += (yscale-this._height)/sspeed;
if ((Math.celi(this._width) == xscale) && (Math.celi(this._height) == yscale)) {
delete this.onEnterFrame;
}
};
};

zum aufrufen der Funktion:
__________________________________________________ _________

_root.mc.scale(67, 63, 5);
__________________________________________________ _________
__________________________________________________ _________

danke
jan2 ist offline   Mit Zitat antworten
Alt 27-06-2005, 17:23   #2 (permalink)
poke
 
Registriert seit: Dec 2002
Ort: Iserlohn [NRW]
Beiträge: 2.304
anstatt xscale nimmst du _xscale und anstatt yscale nimmst du _yscale
pokepika ist offline   Mit Zitat antworten
Alt 27-06-2005, 17:54   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: münchen
Beiträge: 56
das hatte ich auch schon gemacht, ja auch logisch, aber das Problem ist das Gleiche dei Sclaierung geht nur auf den x-wert.

danke
jan2 ist offline   Mit Zitat antworten
Alt 27-06-2005, 17:59   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
ActionScript:
  1. MovieClip.prototype.scale = function(xscale, yscale, sspeed) {
  2.     this.onEnterFrame = function() {
  3.         this._width += (xscale-this._width)/sspeed;
  4.         this._height += (yscale-this._height)/sspeed;
  5.         if ((Math.round(this._width) == xscale) && (Math.round(this._height) == yscale)) {
  6.             delete this.onEnterFrame;
  7.         }
  8.     };
  9. };
  10. //
  11. _root.mc.scale(67, 63, 5);

1. MovieClip (nicht Movieclip)
2. Math.round (nicht Math.celi - und wenn schon Math.ceil)

edit: Das mit _xscale ist auf den ersten Blick "logisch". Allerdings sind bei dir "xscale" und "yscale" ziemlich unglücklich gewählte Variablennamen...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++

Geändert von Der Frager (27-06-2005 um 18:06 Uhr)
Der Frager ist offline   Mit Zitat antworten
Alt 27-06-2005, 18:07   #5 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: münchen
Beiträge: 56
Lightbulb

So nah und doch soweit und ich habe mir vorgenommen nie wieder Rechtsschreipfeler in die AS zu packen. danke
Jan

edit: das ist wohl war aber damit behalte ich wenigstens den Überblick!

Geändert von jan2 (27-06-2005 um 18:08 Uhr)
jan2 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 05:56 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele