tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
630
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    herzblut herzblut ist offline Mitglied Bronze
    Registriert seit
    Aug 2004
    Beiträge
    38
    Hallo!
    Ich komme mit meinem Textfeld nicht weiter.
    Ich will ein Textfeld per as erzeugen. Dies soll den variablennamen value_ haben.
    Also das was man, wenn man ein Textfeld so mit flash mx erzeugt bei Var: eintraegt.
    Diese Variable wird dann spaeter durch ein anderen script in einem anderen Movieclip eingesetzt.
    So wie das script (s.u.) jetzt aussieht wird leider immer garnichts angezeigt.
    Wenn ich
    Code :
    1
    
    txt.variable = value_;
    durch
    Code :
    1
    
    txt.text = "was auch immer";
    ersetze, dann dann wird der text korrekt angezeigt. Nur dann habe ich ja wiegesagt keine variable.

    Dies ist der Code fuer das Textfeld:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
    onClipEvent (load) {
    createTextField("txt",0,0,0,62,12);
    txt.multiline = false;
    txt.wordWrap = false;
    txt.border = false;
    txt.variable = value_;
     
    form = new TextFormat();
    form.color = 0x00000;
    form.bullet = false;
    form.align = "center"
    form.font = "Arial"
    form.leftMargin = 0
    form.rightMargin = 0
    form.indent = 0
    form.leading = 0
    form.bold = false
    form.italic = false
    form.underline = false
    form.size = "10"
     
    txt.setTextFormat(form);
    }

    Und dies ist der Code fuer das andere Script in dem die Variablen festgelegt werden, die dann spaeter in das textfeld eingesetzt werden sollen.
    (Die stellen wo die value_ variable verwendet wird sind unterstrichen!):

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    
    onClipEvent (load) {
        mainSections = new Array("main1", "main2", "main3", "main4", "main5", "main6");
     
        subSection0 = new Array("sub1", "sub2");
        subSection1 = new Array("sub1", "sub2");
        subSection2 = new Array("sub1");
        subSection3 = new Array("sub1", "sub2", "sub3");
        subSection4 = new Array("sub1");
        subSection5 = new Array("sub1");
     
        for (i=0; i<mainSections.length; i++) {
            attachMovie("mainButton", "main"+i, i+100);
            myButton = this["main"+i];
            myButton.subs = this["subSection"+i];
            [U]myButton.button.value_ = mainSections[i];[/U]
            myButton._x = myButton._width*i;
            // -- build subsection buttons for each main button
            for (x=0; x<myButton.subs.length; x++) {
                myButton.attachMovie("subButton", "sub"+x, x);
                mySub = myButton["sub"+x];
                [U]mySub.button.value_ = myButton.subs[x];[/U]
                mySub.button.outYpos = myButton._height+(mySub._height*x);
            }
        }
     
        function openSubs(target) {
            for (i=0; i<this[target].subs.length; i++) {
                subMenuCounter = 0;
                this[target]["sub"+i].button.newY = this[target]["sub"+i].button.outYpos;
                currentOpen = target;
            }
        }
        // -- close subsections function
        function closeSubs(target) {
            for (i=0; i<this[target].subs.length; i++) {
                this[target]["sub"+i].button.newY = this[target]["sub"+i].button.oYpos;
            }
        }
     
        function doSubSection(target, sub) {
            _root.currentSelection = target+" "+sub;
            closeSubs(currentOpen);
        }
    }
    onClipEvent (enterFrame) {
        subMenuCounter++;
        if (subMenuCounter>100) {
            closeSubs(currentOpen);
            subMenuCounter = 0;
        }
    }
    onClipEvent (mouseUp) {
        if (!this.hitTest(_root._xmouse, _root._ymouse)) {
            closeSubs(currentOpen);
        }
    }

    Ich hoffe hier kann mir jemand weiterhelfen.

    Gruss

    PS: Es geht im ganzen Script um ein Menu. Die Buttons werden automatisch erzeugt und in das Textfeld auf jedem Button soll dann die entsprechende variable eingefuegt werden!
     

  2. #2
    Avatar von p-flash
    p-flash p-flash ist offline Mitglied Gold
    Registriert seit
    Aug 2004
    Ort
    D-Town
    Beiträge
    211
    Ich verstehe nicht ganz was value_ in deinem Script machst. Du weißt es txt.variable zu, aber welchen Wert bzw was ist value_?

    Was genau soll

    PHP-Code:
    myButton.button.value_ mainSections[i]; 
    bewirken?Ab Flash MX sollte man besser mit instanz- statt variablenamen bei Textfeldern arbeiten. Dadurch kannst du einige Fehler vermeiden.

    p-flash
     
    ---------------------------------------
    [WebSite] www.p-creations.com


    [Game] Tower of Hanoi

  3. #3
    herzblut herzblut ist offline Mitglied Bronze
    Registriert seit
    Aug 2004
    Beiträge
    38
    Code :
    1
    
    myButton.button.value_ = mainSections[i];
    ist der wert der auf dem button stehen soll.

    oben im script steht:
    Code :
    1
    
    mainSections = new Array("main1", "main2", "main3", "main4", "main5", "main6");

    das i ist der jeweilige ausgelesene array. also z.b. main1.

    d.h.z.b.
    myButton.button.value_ = main1;

    auf dem button steht also main1.
    auf dem naechsten dann main2 usw.

    ich haenge mal das eigentliche script fuer das menu komlett an, dass kommt naemlich nicht von mir.
    dort wird statt einem per as erzeugten textfeld ein manuell eingefuegtes mit der variable value verwendet.
    genau das textfeld will ich per as erzeugen.

    das textfeld befindet sich im originalscript im
    m-large button mc.

    doppelklick auf den movieclip, dann in der ebene grafik doppelklicken. und dann ebene text.

    hm. ich hoffe da steigt jemand durch...

    download der fla datei
     

  4. #4
    Avatar von p-flash
    p-flash p-flash ist offline Mitglied Gold
    Registriert seit
    Aug 2004
    Ort
    D-Town
    Beiträge
    211
    Achso, ich glaube ich verstehe...Habe gerade keine Zeit mir die Datei anzugucken, aber wenn value_ der Variablenname sein soll, müsste folgende Zeile anders aussehen:

    PHP-Code:
    txt.variable value_// falsch
    txt.variable "value_"// richtig 
    p-flash
     
    ---------------------------------------
    [WebSite] www.p-creations.com


    [Game] Tower of Hanoi

  5. #5
    herzblut herzblut ist offline Mitglied Bronze
    Registriert seit
    Aug 2004
    Beiträge
    38
    leider geht es so immmer nochnicht.
     

  6. #6
    Avatar von umlart
    umlart umlart ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Beiträge
    291
    createTextField.. erzeugen und dann als 5 veröffentlichen..das kann nicht gehen..
    versuch es mal mit veröffentlichen als 6..
     
    *Man muß nicht wissen wie es geht!*
    *Man muß nur wissen wo es steht!*

  7. #7
    herzblut herzblut ist offline Mitglied Bronze
    Registriert seit
    Aug 2004
    Beiträge
    38
    Ok, ich habe das Problem schon selbst gelöst.
    Ich hatte das Textfeld nur in der falschen MovieClip-Ebene erzeugt.
    Jetzt funktioniert aber alles.
    Danke trotzdem fuer eure Hilfe!
    MfG
     

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 24.09.10, 08:45
  2. Dynamisch erzeugten Button speichern
    Von exiter28 im Forum .NET Windows Forms
    Antworten: 9
    Letzter Beitrag: 02.07.09, 18:46
  3. dynamisch erzeugten Namen auslesen
    Von pat_morita im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 13.06.07, 09:31
  4. Textfeld dynamisch auslesen
    Von intercorni im Forum Flash Plattform
    Antworten: 5
    Letzter Beitrag: 07.03.07, 11:52
  5. Antworten: 6
    Letzter Beitrag: 07.09.06, 17:48