Toon posts:

[flash] textfield boven vlak

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een script die het volgende doet ... hij tekent dmv. AS een vlak in een MC ... nu maak ik een textfield aan met AS in een andere MC met een diepte die veel hoger is dan het vlak. Toch legt flash 't vlak boven 't textfield zodat ik deze niet kan zien. Wat ik probeer niks werkt ... is het zo dat flash een geprogrammeerd vlak altijd boven een geprogrameerd textfield zet?

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
Verwijderd schreef op 07 oktober 2002 @ 14:00:
[..] met een diepte die veel hoger is dan het vlak [..]
als je dit soort termen gebruikt denk ik niet dat je veel replies gaat krijgen ;) :+

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

standaard antwoord: a link would be nice ;)

echt nog nooit van gehoord. Ben het nog niet tegengekomen eigenlijk, testje:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
c = _root.createEmptyMovieClip( "circle", 1 );
c.beginFill( 0xCCCCCC );
c.moveTo( 100, 100 );
c.lineTo( 100,100 ); 
c.lineTo( 100, 400 );
c.lineTo( 400, 400 );
c.lineTo( 400, 100 );
c.endFill();

t = _root.createTextField("blaat",2,200,200,200,100);
blaat.text = "Een textfield boven een vlak";


werkt hier gewoon? :)

"You're only as good, as what you did last week."


Verwijderd

Topicstarter
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
57
58
59
60
61
62
63
64
65
// taart tekenen

for (j=0;j<numberOfMainItems;j++) {
    var piePart = createEmptyMovieClip ("piePart" + j, j);
    for (i=this["menuArray" + j].length;i>0;i--) {
        var piePartLayer = piePart.createEmptyMovieClip ("piePartLayers" + i,  -i);
        piePartLayer.angleARadians = ((angleADegrees / 2) * Math.PI) / 180;
        piePartLayer.dY = (i * heightOfSubItems) + circleMiddleR - 5;
        piePartLayer.dX = Math.tan(piePartLayer.angleARadians) * piePartLayer.dY;
        piePartLayer.R = Math.sqrt((piePartLayer.dY * piePartLayer.dY) + (piePartLayer.dX * piePartLayer.dX));

        if (pieColor == this["colorDark" + j])
            pieColor = this["colorLight" + j];
        else
            pieColor = this["colorDark" + j];   

        piePartLayer.beginFill (pieColor, 100);
        piePartLayer.moveTo (0, 0);
        piePartLayer.lineTo (-piePartLayer.dX, -piePartLayer.dY);
        piePartLayer.curveTo (0, (-piePartLayer.R - (piePartLayer.R - piePartLayer.dY)), piePartLayer.dX, -piePartLayer.dY)
        piePartLayer.lineTo (0, 0);
        piePartLayer.endFill();

        mystring = new string(this["menuArray" + nummer][nr]);
        for (l=0;l<mystring.length;l++) {
            this["splitted" + l] = mystring.split("");
        }

        for (b=0;b<this["splitted" + i].length;b++) {
            piePartLayer.createTextField("fld" + b,b,0,0,0,50);
            piePartLayer["fld"+myNr].htmlText = this["splitted" + i][b];
            
            letterStyle = new TextFormat(); 
            letterStyle.bold = true;
            letterStyle.color = 0xBABABA;
            letterStyle.size = "40";
            piePartLayer["fld"+myNr].setTextFormat(letterStyle);
            piePartLayer["fld"+myNr].selectable = false;
            piePartLayer["fld"+myNr].tabEnabled = false;
            piePartLayer["fld"+myNr].autoSize = true;

        }
        diepte++;
    }

    piePart._rotation = j * angleADegrees;
    piePart._x = centerOfPieX;
    piePart._y = centerOfPieY;

    var barBetween = createEmptyMovieClip ("barBetween" + j, 1500 + j);
    with (barBetween) {
        beginFill ("0xFFFFFF", 100);
        moveTo (-1, 0);
        lineTo (-1, -500);
        lineTo (1, -500);
        lineTo (1, 0);
        endFill(-1, 0);
        _rotation = ((angleADegrees * j) + (angleADegrees / 2));
        _x = centerOfPieX;
        _y = centerOfPieY;
    }
}

drawCircle(centerOfPieX, centerOfPieY, circleMiddleR, 0xBABABA, 100, 100);
drawCircle(centerOfPieX, centerOfPieY, circleMiddleR - heightOfSubItems, 0xFFFFFF, 100, 101);


alles wordt via xml ingelezen en in arrays gezet ... hij maakt dus wel textvelden aan en ook de vlakken. Maar 't textveld is niet boven het vlak te krijgen ...

Verwijderd

Topicstarter
als je de code niet snapt dan wil ik hem wel even uitleggen ...
hij tekent dus een cirkel die uit taart punten bestaat ...
enkele variabelen worden eerder aangemaakt in de timeline

  • tie-rep
  • Registratie: Oktober 2001
  • Laatst online: 19-02 15:56

tie-rep

nu met ir. !

Ik zie dat je je nieuwe Mc op "1500+j" level/depth plaatst.
Misschien is dat iets te hoog? :?

Ik kan zo snel niet iets vinden in de reference wat die beperking aangeeft, maar probeer slechts met je mee te denken....

edit: textfield wordt op 'b' neergezet, die misschien verhogen?

Verwijderd

Topicstarter
ok it works now :S vraag me niet hoe ... ik heb de code herschreven ... voor de geinteresseerden :
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
// start tekenen sitemap
// main (1) -- movieclip welke alle andere clips bevat
    // slice (i+1) -- movieclip (voor een menuitem) welke subs en tekst bevatten
        // layer (j+1) -- movieclip met tekening van slices in verschillende kleuren
        // woord (j+100) -- movieclip met created textfield in zich
            // fld -- textfield
    // lijn (i+50)
///////////////////////////////////////////////////////////////////////////////////////////
            
//
// BOUWEN MAIN 
/////////////////
var main = _root.createEmptyMovieClip("main",1);
main._x = 200;
main._y = 200;

//
// BOUWEN SLICES
///////////////////
for (i=0; i<numberOfMainItems; i++) {
    var slice = main.createEmptyMovieClip("slice" + i, i+1);
    slice._rotation = angleDegrees * i;

    // 
    // BOUWEN LAYERS
    ///////////////////
    for(j=0;j<this["mainMenuArray" + i].length;j++) {
        var layer = slice.createEmptyMovieClip("layer" + j, 50-j);

        angleRadians = ((angleDegrees / 2) * Math.PI) / 180;
        dY = (j * ringHeight) + circleMiddleR - 5;
        dX = Math.tan(angleRadians) * dY;
        R = Math.sqrt((dY * dY) + (dX * dX));

        if (pieColor == this["colorDark" + i])
            pieColor = this["colorLight" + i];
        else
            pieColor = this["colorDark" + i];

        with(layer) {
            beginFill (pieColor, 100);
                moveTo (0, 0);
                lineTo (-dX, -dY);
                curveTo (0, -R - (R - dY), dX, -dY)
                lineTo (0, 0);
            endFill();
        }

        //
        // BOUWEN WOORDEN
        ////////////////////
        var woord = slice.createEmptyMovieClip("woord" + j, j+100);
        myString = new String(this["mainMenuArray" + i][j]);

        // 
        // BOUWEN LETTERS
        ////////////////////
        for (k=0; k<myString.length;k++){
            woord.createTextField("fld"+k,k,0,0,50,50);
            woord["fld" + k].text = k;
            woord["fld" + k]._y = -100;
        }
    }

    // 
    // BOUWEN LIJNEN
    ///////////////////
    var lijn = main.createEmptyMovieClip("lijn" + i, i+50);
    with (lijn) {
        beginFill ("0xFFFFFF", 100);
            moveTo (-1, 0);
            lineTo (-1, -500);
            lineTo (1, -500);
            lineTo (1, 0);
        endFill(-1, 0);
        _rotation = ((angleDegrees * i) + (angleDegrees / 2));
    }

    drawCircle(0,0, circleMiddleR - ringHeight, 0xBABABA, 100, 45);
    drawCircle(0,0, circleMiddleR - (ringHeight*2), 0xFFFFFF, 100, 46);

}

stop();

Verwijderd

Verwijderd schreef op 07 oktober 2002 @ 14:00:
Ik ben bezig met een script die het volgende doet ... hij tekent dmv. AS een vlak in een MC ... nu maak ik een textfield aan met AS in een andere MC met een diepte die veel hoger is dan het vlak. Toch legt flash 't vlak boven 't textfield zodat ik deze niet kan zien. Wat ik probeer niks werkt ... is het zo dat flash een geprogrammeerd vlak altijd boven een geprogrameerd textfield zet?
maak een extra mc aan waar je je polygoon in tekent... makkelijkste oplossing lijkt me
Pagina: 1