MyGameMyLove.com

原创教程
我做的一个flash下拉列表(修正版)[源码]
先看效果:
修正:
1.鼠标滑过时,显示下拉列表,改为点击显示下拉列表。
2.修正了鼠标离开下拉列表时,列表不能缩回的BUG。
3.修正了在点击下拉列表项,显示的内容,字体变细的问题。
4.返回标准的属性名称:label和data
/*www.mygamemylove.com 原创flash教程
我的经验与您分享
email:mygamemylove@qq.com
*/
//
var mygamemylove_com:Object = new Object();
//_mc 附加的下拉列表模板,模板要注意的几点:1.下拉列表的背景:库:"buton"元件,它有3种状态:鼠标点击,放上面,离开。2.库"下拉菜单组件"元件,里的那个mc的名称必须为:mcXiaLa
//详情最好参看源文件。下载地址:http://www.mygamemylove.com/oldweb/129.html
//arrList 数据列表
//点击某一个表单要处理的动作
//例子
//var arrTem:Array = [{label:"写真自拍", data:1}, {label:"生活娱乐", data:2}, {label:"自然风景", data:3}, {label:"科技时代", data:4}];
//mygamemylove_com.iniDropList(mcXiaLa, arrTem, function () {
//trace(mcXiaLa.value);
//});
mygamemylove_com.iniDropList = function(_mc:MovieClip, arrList:Array, funWhenPress:Function) {
//画矩形
_mc.createRectangle = function(x:Number, y:Number, w:Number, h:Number, mc:MovieClip) {
mc.beginFill(0xffffff);
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();
};
//生成文本
_mc.setTxt = function(target_mc:MovieClip, strTalkYor:String, x:Number, y:Number, color1:Number) {
target_mc.createTextField("my_txt", 1, x, y, 100, 30);
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);
};
//
_mc.arrList = arrList;
//
_mc.setTxt(_mc, _mc.arrList[0].label, 0, 0, 0);
//
_mc.value = _mc.arrList[0].data;
//
_mc.mcXiaLa.gotoAndStop(1);
_mc.mcXiaLa.onRelease = function() {
//生成一个背景,目的在于,可以屏蔽掉如果它的下边有一些按键的问题
//flash背景调到灰色你可以看到这个白框。
this._parent.createEmptyMovieClip("mcBak", 2);
this._parent.createRectangle(0, 0, 100, this._parent.arrList.length*24+23, this._parent.mcBak);
this._parent.mcBak._alpha = 0;
this._parent.mcBak.onRelease = function() {
};
//检测是否移出范围之外
this._parent.mcBak.onEnterFrame = function() {
if (this._parent._parent._xmouse>this._parent._x && this._parent._parent._xmousethis._parent._y && this._parent._parent._ymouse }else{
this.removeMovieClip()
_mc.mcRongQi.removeMovieClip()
}
};
//
this.gotoAndStop(2);
//
this._parent.createEmptyMovieClip("mcRongQi", 3);
var numStarY:Number = 24;
//显示列表。
for (var i:Number = 0; i var mcTem:MovieClip = this._parent.mcRongQi.attachMovie("buton", "buton"+i, this._parent.mcRongQi.getNextHighestDepth(), {_y:numStarY*(i+1), _width:_mc.mcXiaLa._width, value:_mc.arrList[i].data, numI:i});
//
//
this._parent.setTxt(mcTem, _mc.arrList[i].label, 0, 0, 0);
//
mcTem.gotoAndStop(1);
mcTem.onRollOver = function() {
this.gotoAndStop(2);
};
mcTem.onRollOut = function() {
this.gotoAndStop(1);
};
mcTem.onPress = function() {
this.gotoAndStop(3);
//
this._parent._parent.label =this._parent._parent.my_txt.text = this._parent._parent.arrList[this.numI].label;
this._parent._parent.data = this._parent._parent.arrList[this.numI].data;
//
this._parent._parent.my_txt.setTextFormat(this._parent._parent.my_txt.my_fmt);
//
funWhenPress();
//
this._parent._parent.mcBak.removeMovieClip();
//
this._parent.removeMovieClip();
};
mcTem.onRelease = function() {
this.gotoAndStop(1);
};
}
//
};
_mc.mcXiaLa.onRollOut = function() {
this.gotoAndStop(1);
};
_mc.mcXiaLa.onPress = function() {
this.gotoAndStop(3);
};
};
//###################main####################################
//详情最好参看源文件。下载地址:http://www.mygamemylove.com/oldweb/129.html
//
var txtTalkyou:TextField
//下拉列表,图片分类
var arrTem:Array = [{label:"写真自拍", data:1}, {label:"生活娱乐", data:2}, {label:"自然风景", data:3}, {label:"科技时代", data:4}];
mygamemylove_com.iniDropList(mcXiaLa, arrTem, function () { txtTalkyou.text=mcXiaLa.label+":"+mcXiaLa.data});
我的经验与您分享
email:mygamemylove@qq.com
*/
//
var mygamemylove_com:Object = new Object();
//_mc 附加的下拉列表模板,模板要注意的几点:1.下拉列表的背景:库:"buton"元件,它有3种状态:鼠标点击,放上面,离开。2.库"下拉菜单组件"元件,里的那个mc的名称必须为:mcXiaLa
//详情最好参看源文件。下载地址:http://www.mygamemylove.com/oldweb/129.html
//arrList 数据列表
//点击某一个表单要处理的动作
//例子
//var arrTem:Array = [{label:"写真自拍", data:1}, {label:"生活娱乐", data:2}, {label:"自然风景", data:3}, {label:"科技时代", data:4}];
//mygamemylove_com.iniDropList(mcXiaLa, arrTem, function () {
//trace(mcXiaLa.value);
//});
mygamemylove_com.iniDropList = function(_mc:MovieClip, arrList:Array, funWhenPress:Function) {
//画矩形
_mc.createRectangle = function(x:Number, y:Number, w:Number, h:Number, mc:MovieClip) {
mc.beginFill(0xffffff);
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();
};
//生成文本
_mc.setTxt = function(target_mc:MovieClip, strTalkYor:String, x:Number, y:Number, color1:Number) {
target_mc.createTextField("my_txt", 1, x, y, 100, 30);
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);
};
//
_mc.arrList = arrList;
//
_mc.setTxt(_mc, _mc.arrList[0].label, 0, 0, 0);
//
_mc.value = _mc.arrList[0].data;
//
_mc.mcXiaLa.gotoAndStop(1);
_mc.mcXiaLa.onRelease = function() {
//生成一个背景,目的在于,可以屏蔽掉如果它的下边有一些按键的问题
//flash背景调到灰色你可以看到这个白框。
this._parent.createEmptyMovieClip("mcBak", 2);
this._parent.createRectangle(0, 0, 100, this._parent.arrList.length*24+23, this._parent.mcBak);
this._parent.mcBak._alpha = 0;
this._parent.mcBak.onRelease = function() {
};
//检测是否移出范围之外
this._parent.mcBak.onEnterFrame = function() {
if (this._parent._parent._xmouse>this._parent._x && this._parent._parent._xmouse
this.removeMovieClip()
_mc.mcRongQi.removeMovieClip()
}
};
//
this.gotoAndStop(2);
//
this._parent.createEmptyMovieClip("mcRongQi", 3);
var numStarY:Number = 24;
//显示列表。
for (var i:Number = 0; i
//
//
this._parent.setTxt(mcTem, _mc.arrList[i].label, 0, 0, 0);
//
mcTem.gotoAndStop(1);
mcTem.onRollOver = function() {
this.gotoAndStop(2);
};
mcTem.onRollOut = function() {
this.gotoAndStop(1);
};
mcTem.onPress = function() {
this.gotoAndStop(3);
//
this._parent._parent.label =this._parent._parent.my_txt.text = this._parent._parent.arrList[this.numI].label;
this._parent._parent.data = this._parent._parent.arrList[this.numI].data;
//
this._parent._parent.my_txt.setTextFormat(this._parent._parent.my_txt.my_fmt);
//
funWhenPress();
//
this._parent._parent.mcBak.removeMovieClip();
//
this._parent.removeMovieClip();
};
mcTem.onRelease = function() {
this.gotoAndStop(1);
};
}
//
};
_mc.mcXiaLa.onRollOut = function() {
this.gotoAndStop(1);
};
_mc.mcXiaLa.onPress = function() {
this.gotoAndStop(3);
};
};
//###################main####################################
//详情最好参看源文件。下载地址:http://www.mygamemylove.com/oldweb/129.html
//
var txtTalkyou:TextField
//下拉列表,图片分类
var arrTem:Array = [{label:"写真自拍", data:1}, {label:"生活娱乐", data:2}, {label:"自然风景", data:3}, {label:"科技时代", data:4}];
mygamemylove_com.iniDropList(mcXiaLa, arrTem, function () { txtTalkyou.text=mcXiaLa.label+":"+mcXiaLa.data});
浏览量:
返回列表相关评论
菜鸟
2008-1-13
你的文件不能解压?
可以呀,是不是没有输入密码。请注意下载页面的提示:统一解压密码:www.mygamemylove.com
相关主题
2007-12-28 下拉列表 comboBox
先看效果:[flash]320200demo/comboBox/comboBox2.swf[/flash...查看..
2007-12-18 下拉列表 comboBox
先看效果:[flash]350230demo/comboBox/comboBox.swf[/flash]...查看..
有话说? 好的,那就到我的留言本里给我留言吧!我们共同进步.
友情连接 :我要申请
