Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-03-2007, 15:30   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2006
Beiträge: 38
Question unterschied zwischen .x und ._x ?

hi leute,

ich weiss - meine frage sieht auf den ersten blick dumm aus, aber ich komme einfach nicht drauf.

in der flash-hilfe steht:

x (Point.x-Eigenschaft)
public x: Number
Die horizontale Koordinate des Punkts. Die Standardeinstellung ist 0.

aber ich dachte eigenschaften sind immer mit dem unterstrich gekennzeichnet..

ich habe folgendes ausprobiert:

Code:
blabla_mc.onEnterFrame = function () {
	this.x += 5;
	this._y += 5;
	}
das einzige was passiert ist, dass der MC nach unten wandert. also wozu ist dieses .x da? was hab ich da nicht verstanden oder wo ist mein denkfehler??

ich hab hier im forum leider auch nichts gefunden, falls es ein thema gibt wo das erklärt ist, würde ich mich über einen link freuen.

danke
pimsn ist offline   Mit Zitat antworten
Alt 04-03-2007, 15:36   #2 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Das .x ist keine Eigenschaft des MovieClips sondern
ein Parameter des Point-Objektes. Deinen MovieClip
steuerst Du immer über deinMC._x / deinMC._y an.

Warum es Eigenschaften mit und ohne Unterstrich
gibt, weiß ich allerdings auch nicht. Aber es gibt
noch mehr ohne Unterstrich.

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 04-03-2007, 16:07   #3 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.138
Ich schätze, das ist einfach eine Anpassung an alle anderen Programmiersprachen. In AS3 gibt MovieClip.x und nicht MovieClip._x. Adobe passt sich halt an. Ist wahrscheichlich so in der Spezifikation von ECMA-Script 4 festgehalten.
Omega Psi ist offline   Mit Zitat antworten
Alt 04-03-2007, 16:47   #4 (permalink)
ActionStripper
 
Benutzerbild von Mr.Twister
 
Registriert seit: Nov 2001
Ort: Oldenburg
Beiträge: 3.275
diese ganzen unterstrich-sachen finde ich sowieso seltsam.
wie heißt es z.B. mc._currentframe und nicht mc.currentFrame?

es gibt noch zu bedenken, daß es eigenschaften gibt, die man zwar abrufen aber nicht setzen kann.
durch localToGlobal ergibt sich z.B. ein objekt, was x- und y- koordinaten beinhaltet. diese werte lassen sich nur abrufen, man kann sie aber nicht setzen, weil sie sich durch andere eigenschaften selbst ergeben.

die objekt.x eigenschaft ist z.B. so eine.

in der objekt orientierten programmierung gibt es getter und setter.
wo man normalerweise
"myObject.getX()"
schreiben müsste kann man durch umschreiben der funktion innerhalb des objektes die funktion getX() auch get x() nennen.
wenn man das macht, kann man durch meinObjekt.x die eigenschaft einfach abrufen, ohne klammern für den funktionsaufruf schreiben zu müssen ...

ach ... blablabla ... ich schreibe schon wieder zu viel ... *g*
__________________
Design ist AUCH Geschmackssache.
Mr.Twister ist offline   Mit Zitat antworten
Alt 04-03-2007, 17:07   #5 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.138
Ja, das ist schon ein komsiches Durcheinander. Flash legt generell nicht wert auf Kapselung. Oft wird in Beispielen und Tutorials direkt auf Membervariablen via Punktnotation zugegriffen. Was aus OOP -Sicht böse ist.

Das mit den get- und set-Funktionen ist auch sehr inkonsistent. Ich schreibe immer eine get<Attribute>() und set<Attribut>(param:Arguments). Aber da es da mehrere Möglichkeiten gibt, bleibt es jedem selbst überlassen.
Omega Psi ist offline   Mit Zitat antworten
Alt 04-03-2007, 20:04   #6 (permalink)
ActionStripper
 
Benutzerbild von Mr.Twister
 
Registriert seit: Nov 2001
Ort: Oldenburg
Beiträge: 3.275
gut zu wissen, daß du es so machst.
ich habe gestern in colin moocks buch gelesen, daß die
get property()
methode wohl irgendwie ganz toll sei.
zwar lernt man auch in dem buch erst die
getProperty()
methode, aber das ist aus didaktischer sicht auch klar.

letztendlich werde ich aber wohl auch erstmal bei der getProperty() methode bleiben, weil ich sonst befürchte, gewisse getter und setter mit "echten" objekt-properties zu verwechseln.
__________________
Design ist AUCH Geschmackssache.
Mr.Twister 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 08:08 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele