Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-12-2011, 16:36   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2009
Beiträge: 39
Eigenschaft aus anderer Variable

Hallo Zusammen,
ist es möglich die Eigenschaften aus einer anderen Variable zu übernemen?
Ein Beispiel:
Code:
var heading:TextField = new TextField();
heading.autoSize = TextFieldAutoSize.LEFT;
heading.antiAliasType = AntiAliasType.ADVANCED;
heading.defaultTextFormat = menuFormat;
heading.selectable = false;
heading.mouseEnabled = false;

var menuHeading:heading = new heading;
	menuHeading.text = "hallo";
Benutze öfter Textfelder und würde mir gerne die ganzen Eigenschafts-Blöcke ersparen.

Danke
cosmoses ist offline   Mit Zitat antworten
Alt 11-12-2011, 17:01   #2 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
wilkommen in der wunderbaren Welt der Klassen
bau dir eine Klasse Heading mit den Eigenschaften, die du brauchst:
PHP-Code:
//Heading.as
package  
{
    
import flash.text.AntiAliasType;
    
import flash.text.TextField;
    
import flash.text.TextFieldAutoSize;
    
import flash.text.TextFormat;

    public class 
Heading extends TextField
    
{
        public function 
Heading(defaultTextFormat:TextFormat=nulltext:String=""
        {
            
autoSize TextFieldAutoSize.LEFT;
            
antiAliasType AntiAliasType.ADVANCED;
            
selectable false;
            
mouseEnabled false;
            
            if (
defaultTextFormatthis.defaultTextFormat defaultTextFormat;
            if (
textthis.text text;
        }
    }

PHP-Code:
//menuFormat wird ja auf der Bühne definiert, und ist somit in der Klasse nicht bekannt
//deshalb übergeb ich es
//sowohl das Format, als auch der Text sind optional
var menuHeading:TextField = new Heading(menuFormat"hallo"); 

oder du schreibst dir ne Funktion, die dir das Textfeld so zusammenbaut, wie du es brauchst:
PHP-Code:
function createHeading(defaultTextFormat:TextFormat=nulltext:String=""):TextField
{
    var 
tf:TextField = new TextField();
        
tf.autoSize TextFieldAutoSize.LEFT;
        
tf.antiAliasType AntiAliasType.ADVANCED;
        
tf.selectable false;
        
tf.mouseEnabled false;
    
    if (
defaultTextFormattf.defaultTextFormat defaultTextFormat;
    if (
texttf.text text;
    
    return 
tf;
}

var 
menuHeading:TextField createHeading(menuFormat"hallo"); 
__________________
greetz Thomas

plz RTFM & Coding Conventions

Geändert von thomas_E (11-12-2011 um 17:03 Uhr)
thomas_E ist offline   Mit Zitat antworten
Alt 11-12-2011, 17:01   #3 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Zitat:
Zitat von cosmoses Beitrag anzeigen
ist es möglich die Eigenschaften aus einer anderen Variable zu übernemen?
Ja, für genau sowas hat man Klassen erfunden.
Dafür brauchst Du eine Datei namens Heading.as im selben Verzeichnis mit folgendem Inhalt:
ActionScript:
  1. package {
  2.     import flash.text.AntiAliasType;
  3.     import flash.text.TextField;
  4.     import flash.text.TextFieldAutoSize;
  5.     import flash.text.TextFormat;
  6.    
  7.     public class Heading extends TextField {
  8.        
  9.         static public const DEFAULT_FORMAT:TextFormat = new TextFormat();
  10.        
  11.         public function Heading( text:String = null ) {
  12.             autoSize = TextFieldAutoSize.LEFT;
  13.             antiAliasType = AntiAliasType.ADVANCED;
  14.             defaultTextFormat = DEFAULT_FORMAT;
  15.             selectable = false;
  16.             mouseEnabled = false;
  17.         }
  18.     }
  19.    
  20. }
Und diesen Code für die Instanziierung:
ActionScript:
  1. var menuHeading:Heading = new Heading("hallo");
  2. addChild(menuHeading);
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 11-12-2011, 17:04   #4 (permalink)
Euer Nuser
 
Benutzerbild von ~pyropete~
 
Registriert seit: Apr 2004
Ort: Sand-City
Beiträge: 3.483
Bau Dir ein Objekt mit den Werten, welches Du dann per for...in-Loop an Dein Textfeld übergibst:


PHP-Code:

var myTextInits:Object = {autoSize:TextFieldAutoSize.LEFTantiAliasType:AntiAliasType.ADVANCEDdefaultTextFormat:menuFormatselectable:falsemouseEnabled:true}

for(var 
i in myTextInits) {

   
heading[i] = myTextInits[i];


~pyropete~ ist offline   Mit Zitat antworten
Alt 11-12-2011, 17:47   #5 (permalink)
Neuer User
 
Registriert seit: Sep 2009
Beiträge: 39
Smile

Super danke
cosmoses 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Variable (Eigenschaft) in dynamischer Klasse anlegen rossi123 ActionScript 2 2 20-12-2006 22:10
Zugriff auf mc-Eigenschaft mittels Variable Skorpion ActionScript 2 2 15-08-2006 11:21
Variable zu anderer Flashdatei übergeben sunwald ActionScript 1 7 19-01-2005 09:54
Variable in Actionscript von anderer Ebene definieren HaZuLiD0 ActionScript 1 1 05-06-2004 11:18
Variable Eigenschaft ändern ineiche ActionScript 1 19 11-04-2003 13:02


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:09 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele