每天学一点flash(83) 数组中过滤
发布时间:2020-12-15 06:40:31 所属栏目:百科 来源:网络整理
导读:????? 也有一段时间没有静下来写一些东西,最近比较忙碌,其他原因也是因为没有电脑的缘故,每天下班回去只能躺在床上睡觉。呵呵,今天难得有点时间,就想到写一点简单的东西。最近想到一个装备颜色过滤的东西,一直想不懂怎样过滤才好。最好查询一下API ,A
????? 也有一段时间没有静下来写一些东西,最近比较忙碌,其他原因也是因为没有电脑的缘故,每天下班回去只能躺在床上睡觉。呵呵,今天难得有点时间,就想到写一点简单的东西。最近想到一个装备颜色过滤的东西,一直想不懂怎样过滤才好。最好查询一下API ,Array 数组有一个APi可以做到这些事情。过滤到相应的数组就能达到想要的效果了。????
??
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:*,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; ? 这样一个简单颜色过滤就可以过滤完成,这个只是一个很少的简单实验,相信后续改过会有不错的效果,这个只是很少的个人想法而已。希望之后可以深入这个过滤规则。 好,今晚就到这里了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |