每天学一点flash(83) 数组中过滤
2011-10-30 21:56
495 查看
也有一段时间没有静下来写一些东西,最近比较忙碌,其他原因也是因为没有电脑的缘故,每天下班回去只能躺在床上睡觉。呵呵,今天难得有点时间,就想到写一点简单的东西。最近想到一个装备颜色过滤的东西,一直想不懂怎样过滤才好。最好查询一下API ,Array 数组有一个APi可以做到这些事情。过滤到相应的数组就能达到想要的效果了。
filter(callback:Function, thisObject:* = null):Array
对数组中的每一项执行测试函数,并构造一个新数组,其中的所有项都对指定的函数返回 true。
下面做一个很简单实验测试:
点击 之后 就可以看到过滤了。 过滤的规则很简单就是让装备类型 等于它即可。
return (element.type==(type+1))==true;
这样一个简单颜色过滤就可以过滤完成,这个只是一个很少的简单实验,相信后续改过会有不错的效果,这个只是很少的个人想法而已。希望之后可以深入这个过滤规则。
好,今晚就到这里了。
filter(callback:Function, thisObject:* = null):Array
对数组中的每一项执行测试函数,并构造一个新数组,其中的所有项都对指定的函数返回 true。
下面做一个很简单实验测试:
import flash.events.*; import flash.text.TextField; var msg:TextField=new TextField(); addChild(msg); msg.border=true; msg.autoSize=TextFieldAutoSize.LEFT; msg.x=300; msg.selectable=false; msg.mouseEnabled=false; msg.y=100; var resultMsg:TextField=new TextField(); addChild(resultMsg); resultMsg.border=true; resultMsg.width=150; resultMsg.height=150; resultMsg.x=100; resultMsg.selectable=false; resultMsg.mouseEnabled=false; resultMsg.y=100; //简单装备信息描述 var equipArray:Array = new Array(); equipArray.push({name:"红色 金刚枪", type:1}); equipArray.push({name:"蓝色 雨土箭", type:2}); equipArray.push({name:"蓝色 羽毛扇", type:2}); equipArray.push({name:"绿色 星王剑", type:3}); equipArray.push({name:"蓝色 混天箭", type:2}); equipArray.push({name:"橙色 大神扇", type:4}); equipArray.push({name:"绿色 百合剑", type:3}); equipArray.push({name:"绿色 神速箭", type:3}); equipArray.push({name:"紫色 金刚扇", type:5}); equipArray.push({name:"紫色 顿王剑", type:5}); trace("武器列表:"); equipArray.forEach(traceEquipInfo); function doFilter(element:*, index:int, arr:Array):Boolean { return (element.type==(type+1))==true; } function traceEquipInfo(element:*, index:int, arr:Array):void { resultMsg.appendText(element.name +"\n"); } var colorArray:Array=["红色","蓝色","绿色","橙色","紫色"]; stage.addEventListener(MouseEvent.CLICK,onChnageColor); var type:int;//颜色类型 function onChnageColor(event:MouseEvent):void { type=Math.random()*5; trace(type); msg.text=colorArray[type]+"类型:"+(type+1);
changeEquip(); } function changeEquip():void { var managers:Array = equipArray.filter(doFilter); resultMsg.text=""; managers.forEach(traceEquipInfo); }
点击 之后 就可以看到过滤了。 过滤的规则很简单就是让装备类型 等于它即可。
return (element.type==(type+1))==true;
这样一个简单颜色过滤就可以过滤完成,这个只是一个很少的简单实验,相信后续改过会有不错的效果,这个只是很少的个人想法而已。希望之后可以深入这个过滤规则。
好,今晚就到这里了。
相关文章推荐
- 每天学一点flash(83) 数组中过滤 (2)
- 每天学一点flash(4) 数组与xml配合使用
- 每天学一点flash(4) 数组与xml配合使用
- 每天学一点flash(66) flash中Array数组的删除
- 每天学一点flash(66) flash中Array数组的删除
- 每天学一点flash(4) 数组与xml配合使用
- 每天学一点flash(84) 翻转
- 每天学一点flash(40) 制作走马灯四
- 每天学一点flash(42) 参数方程在flash中的应用
- 每天学一点flash(61) flash加载多个xml设计
- 每天学一点flash(69)菱形地图常见的情况
- 每天学一点flash(86) LocalConnection 类
- 每天学一点flash(76)百度MP3音乐APi接口使用
- 每天学一点flash(27) as3.0自定义类 错误笔记
- 每天学一点flash (20) flash cs3.0 外部加载图片
- 每天学一点flash(77)放样
- 每天学一点flash(38) 制作走马灯二
- 每天学一点flash(53) 关于直线的对称点
- 每天学一点flash(9) flash 8 结合xml制作走马灯
- 每天学一点flash(12) as3.0与asp通信 (2)