Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-04-2012, 01:57   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2012
Beiträge: 4
Kurzschreibweisen...

Warum kann ich

var trans:ColorTransform = mcFarbKreis.transform.colorTransform;
trans.redMultiplier /=2;
mcFarbKreis.transform.colorTransform = trans;


nicht eretzen durch:
mcFarbKreis.transform.colorTransform.redMultiplier /= 2;

edvsauer ist offline   Mit Zitat antworten
Alt 09-04-2012, 12:59   #2 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 2.773
weil Transform.colorTransform eine Kopie des intern verwendeten Objektes zurückgibt, keine Referenz.
das selbe beim setzen der Eigenschaf, da wird eine Kopie deines Objektes intern gespeichert.
Das ist bei allen Objekten in Transform so, und beim filters Array des
DisplayObjects.

wieso das gemacht wird?
weil ColorTransform, wie auch Matrix, oder Array nicht mitteilen können, wenn sie geändert wurden.
Wenn also mc.transform.colorTransform.redMultiplier /= 2 einfach so den Wert ändern würde, wäre der Wert geändert, und keine Sau bekommt es mit.

und wenn du jetzt abwägs:
(jedes Frame) * (jedes Objekt auf der Bühne) * (jedes Objekt in Transform) * (alle Eigenschaften des Objektes)
überprüfen ob da was geändert wurde
oder:
den Programmierer zwingen, bei einer Änderung, das geänderte Objekt neu zu setzen. (2 Zeilen Code / Änderung)

was hältst du für die bessere Alternative?
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E 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:59 Uhr.

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


Copyright ©1999 – 2014 Marc Thiele