在flash8主页有这样一个帖子
flash下拉列表(comboBox)[源码]
http://www2.flash8.net/teach/6697.htm
1、画矩形------------借鉴共使用功能模块方式,比手画效率高,容易定位。
function createRectangle(x:Number, y:Number, w:Number, h:Number, mc:MovieClip) {
mc.beginFill(0xFF0000);
mc.moveTo(x, y);
mc.lineTo(x+w, y);
mc.lineTo(x+w, y+h);
mc.lineTo(x, y+h);
mc.lineTo(x, y);
mc.endFill();
}
如对createRectangle(0, 23, 100, this._parent.arrList.length*24, this._parent.mcBak);
跟踪this._parent.arrList.length 结果 4 ---其数据来源是
var arrTem:Array = [{label:"写真自拍", data:1}, {label:"生活娱乐", data:2}, {label:"自然风景", data:3}, {label:"科技时代", data:4}];
结论:
通过数组建立一个动态的4X24高,0,23坐标,宽100,MC是_level0.mcXiaLa.mcBak
方法是通过跟踪 this._parent.mcBak 结果得出_level0.mcXiaLa.mcBak的MC
2、 生成文本
_mc.setTxt = function(target_mc:MovieClip, strTalkYor:String, x:Number, y:Number, color1:Number) {
target_mc.createTextField("my_txt", 1, x, y, 100, 30);
// TextField 类-在其帮助文件中的表述是:
public createTextField(instanceName:String, depth:Number, x:Number, y:Number, width:Number, height:Number) : TextField
创建一个新的空文本字段作为在其上调用此方法的影片剪辑的子级。可以使用
createTextField() 方法在 SWF 文件播放时创建文本字段。
depth 参数确定新文本字段在影片剪辑中的深度级别(z-顺序位置)。每个深度级别只能包含一个对象。如果您在已具有文本字段的深度上创建一个新文本字段,则新文本字段将替换现有文本字段。若要避免覆盖现有文本字段,可使用
MovieClip.getInstanceAtDepth() 方法确定特定深度是否已被占用,或者使用
MovieClip.getNextHighestDepth() 方法确定未占用的最高深度。文本字段位于 (
x,
y),尺寸为
width 乘
height。参数
x 和
y 相对于容器影片剪辑;这些参数对应于文本字段的
_x 和
_y 属性。
width 和
height 参数对应于文本字段的
_width 和
_height 属性。
target_mc.my_txt.multiline = true
//
target_mc.my_txt.selectable = false;
//指示文本字段是否为多行文本字段
target_mc.my_txt.wordWrap = true;
//是否自动换行
target_mc.my_txt.my_fmt = new TextFormat();
target_mc.my_txt.my_fmt.color = color1;
//颜色
//target_mc.my_txt.my_fmt.underline = true;
//下划线
target_mc.my_txt.my_fmt.bold = true;
//加粗
target_mc.my_txt.my_fmt.font = "Arial";
//
target_mc.my_txt.text = strTalkYor;
target_mc.my_txt.setTextFormat(target_mc.my_txt.my_fmt);
[
本帖最后由 ning58 于 2008-2-21 10:50 编辑 ]