每天学一点flash(83) 数组中过滤

      也有一段时间没有静下来写一些东西,最近比较忙碌,其他原因也是因为没有电脑的缘故,每天下班回去只能躺在床上睡觉。呵呵,今天难得有点时间,就想到写一点简单的东西。最近想到一个装备颜色过滤的东西,一直想不懂怎样过滤才好。最好查询一下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:*, 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;

 

这样一个简单颜色过滤就可以过滤完成,这个只是一个很少的简单实验,相信后续改过会有不错的效果,这个只是很少的个人想法而已。希望之后可以深入这个过滤规则。

好,今晚就到这里了。

【6层】一字型框架办公楼(含建筑结构图、计算书) 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值