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?
als je dit soort termen gebruikt denk ik niet dat je veel replies gaat krijgenVerwijderd schreef op 07 oktober 2002 @ 14:00:
[..] met een diepte die veel hoger is dan het vlak [..]
standaard antwoord: a link would be nice 
echt nog nooit van gehoord. Ben het nog niet tegengekomen eigenlijk, testje:
werkt hier gewoon?
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."
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 ...
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?
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?
ok it works now
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
maak een extra mc aan waar je je polygoon in tekent... makkelijkste oplossing lijkt meVerwijderd 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?
Pagina: 1