AS3如何移除容器下所有子显示对象

flex实现的删除子容器 flex实现的如何删除子容器代码,对于实际开发是有很大帮助的 立即下载
容器中的子显示对象分为两类:
处于显示列表中的子显示对象。被numChildren所记录的。
由容器graphics对象绘制出来的矢量图。这个矢量图不属于Shape类型,不在容器的显示列表中,不被numChildren所记录。而是做为容器的背景矢量图存在,始终处于最后面。
因此,准确的说,如果要移除容器下所有子显示对象,就要分别移除这两类对象。

比如有一个容器,其下有8个sprite子对象,和一个graphics绘制出的图像:

var con:Sprite = new Sprite();
addChild(con);
for(var n:int =0; n<8; n++) {
 con.addChild(new Sprite());
}
con.graphics.beginFill(0xFF0000);
con.graphics.drawCircle(100,100,100);
con.graphics.endFill();
trace ("con's children:" + con.numChildren);
//输出:con's children:8   graphics对象绘制的图形果然不在其中。
先说,如何移除显示列表中的显示对象。
在AS3中,容器对子对象的深度管理是自动的,深度是连续的。
每移除指定深度的显示对象,那么其他子显示对象会移动并填充这个空位。因此,代码编写需要注意这一点。
容易误写的移除代码:

//以下是错误代码:
for(var i:int=0; i
 con.removeChildAt(i);
}
trace (con.numChildren); //输出:4

错误原因:每次删除1个子对象,后面的就填补上深度索引空缺,numChildren又会动态改变,因此出错。这样,实际只移除了四个显示对象,分别是0,2,4,6这四个索引的显示对象。因此,是错误的代码。
正确方式:

for(var i:int=con.numChildren-1; i>=0; i--) {
 con.removeChildAt(0);
}
或:
var len:uint = con.numChildren;
while(len>0) {
 con.removeChildAt(0);
 len--;
}

由于显示列表会自动移动显示对象填充空缺,所以只移除0索引的位置即可。这样效率最高。
到这儿,大家可能会发现,虽然numChildren已经为0,但是graphics绘制的圆形仍然存在。所以最后,应当调用一句下面的代码把它也清除掉,才算真正的移除了容器下所有的显示内容。

con.graphics.clear();
小案例:利用图床自动化批量上传图片并获取图片链接 用python爬虫写了一个小脚本,用来自动上传图片到图床,然后返回链接,我们只需直接复制链接就可以。(需要安装Requests库) 因为不同图床需要提交的POST表单不一致,所以在这里我用ImgURL图床做示范,如果大家有需求,可自行修改代码。使用脚本的时候,我们只需把需要上传的图片和这个脚本放在同一个文件夹中,然后运行脚本,稍作等待,看到提示时就可以在脚本运行文件夹中发现一个名为“图片链接地址.txt”的文件,里面就是图片链接啦! 四、图片链接地址.txt(单张图片):... 阅读详情

相关推荐

DAIC-WOZ抑郁数据集实战:从申请到特征提取的全流程避坑指南

本文详细解析了DAIC-WOZ抑郁数据集从申请到特征提取的全流程,提供了实用的避坑指南和代码模板。涵盖数据获取技巧、多模态特征工程(面部动作单元、音频特征、文本处理)以及样本不平衡解决方案,帮助研究者高效处理这一经典抑郁分析数据集。

weixin_29196315的博客 172

用AS3如何清空容器下所有子显示对象

 用AS3如何移除容器下所有子显示对象作者:kingda | 来源:http://www.kingda.org | 浏览次数:85 | 2007-8-11 17:57:31容器中的子显示对象分为两类:处于显示列表中的子显示对象。被numChildren所记录的。由容器graphics对象绘制出来的矢量图。这个矢量图不属于Shape类型,不在容器的显示列表中,不被numChildre

星之守护的专栏 3842

【Apollo学习笔记】——规划模块TASK之SPEED_HEURISTIC_OPTIMIZER

在Apollo星火计划学习笔记——Apollo路径规划算法原理与实践与【Apollo学习笔记】——Planning模块讲到……Stage::Process的函数会依次调用task_list中的TASK,本文将会继续以LaneFollow为例依次介绍其中的TASK部分究竟做了哪些工作。由于个人能力所限,文章可能有纰漏的地方,还请批评斧正。在配置文件中,我们可以看到LaneFollow所需要执行的所有task。本文将继续介绍LaneFollow的第10个TASK——动态规划规划目标加速度尽可能小。

sinat_52032317的博客 3425

AS3中读取子对象的四种方法

AS3中读取子对象的四种方法         这段日子在公司实习,学习新语言ActionScript3,遇到过这么一个问题,在容器中获取子对象,大部分的回答都是三种:getChildAt()、getChildByName()、 getObjectsUnderPoint()。但是有时候通过这三种方法很难get到想要的对象...

和产品battle的秃头程序 1387

第055篇:陆地观测卫星数据服务平台高级检索方法

检索数据检索到肩膀疼,这谁能信?谁能?

liujinli0712的博客 7823

树冠体积计算之体元累加法

因为是自己之前研究的一个方向,就复现了一下论文中的这个方法,在此正好记录一下。 文章目录一、简介二、代码实现(MATLAB)三、小结 一、简介 简而言之,其实就是一句话,即以固定大小的体元模拟不规则的树冠形状。按照论文中的思路主要就是将树冠沿树高方向以 k 为步长进行等距离分段,把每一段树冠的点投影到垂直于树高方向的平面上,再对该平面划分成大小为 k × k 的像元,根据投影到各个像元内点的数量,判断该像元的有效性,统计有效像元的数量 T,则树冠体积为 T 个 k × k × k 的体元之和。如下图所示:

dayuhaitang1的博客 2607

as3教程

1、动态修改影片的帧频在AS3中,你可以使用Stage类动态的修改影片的帧频。Stage类 (flash.display.Stage)的stage对象是所有的sprite和MovieClip以及其他在安全沙箱里的所有元件的舞台。 stage对象的帧频可以是0.01到1000之间的任何一个数。要修改帧频,使用下面的代码:// 将帧频修改到12帧每秒(FPS) stage.frameR

阿衡·加油! 1764

【学习系列】SAP RAP 3:添加多层级的子节点

本文详细介绍了在SAP ABAP RAP开发中如何创建多层级业务对象。主要内容包括:1)创建明细和计划行层级的数据库表及CDS视图;2)使用association和composition关键字建立父子关联关系;3)创建各层级的投影视图并设置层级关系;4)更新行为定义,添加关联、操作权限等控制;5)更新服务定义公开新增视图;6)创建元数据扩展优化UI展示。通过这一系列步骤,实现了从抬头到明细再到计划行的完整业务对象层级结构,为后续UI功能扩展奠定了基础。

DeveloperMrMeng的博客 587

每天学一点Flash(47) As3.0 删除容器所有子对象

  经过查询了资料发现了删除容器的所有子对象也有这样的学问啊。原来是关于深度的问题,每删除一个子对象,深度就会自动移动并填充这个空位。每个DisplayObjectContainer对象都有一个numChildren属性,numChildren记录了这个对象里子对象的个数,当容器对象里添加了一个子对象,位置为0,numChildren为1,添加第二个子对象时,位置为1,numChild

夏天的树人的专栏 8491

电脑硬件:电脑主板上的接口介绍,看完你就懂了

它们主要用于连接老式的键盘和鼠标,虽然速度和兼容性不如USB接口,但在某些特定场合依然发挥着重要作用。PCIe接口是主板上的扩展能力象征,可以连接各种扩展卡,如显卡、声卡、网卡等。电脑主板作为电脑硬件组成关键的部分,今天给大家分享一下电脑主板上有哪些接口,具体每一个接口的特点、使用场景,有需要的朋友可以来了解一下!它们不仅能连接鼠标、键盘、U盘、打印机,还能连接各种外设,如移动硬盘、游戏手柄等。:虽然现在用得越来越少,但在一些特定场合,如工业控制、老旧设备上,仍然需要使用PS/2接口。

IT技术分享社区 2787

蓝牙学习笔记之HCI协议(一)

目录 协议浅述 HCI简介 HCI协议数据格式 HCI Command Packet HCI ACL Data Packet HCI Synchronous(SCO) Data Packet HCI Event Packet HCI命令和事件介绍 Inquiry command Write Local Name Command Read BD_ADDR Command H...

在云巅的博客 2万+

AS3 遍历对象

as3遍历对象所有属性的方法 1: ObjectUtil.getClassInfo(this._arr[0]).properties as Array  2:var o:Object=new Object(); o.name='mm'; o.type='size'; o.size='32D'; for (var i:String in o) { trace(i); tr...

rasvs007的专栏 443

CKA-题库-简洁参考答案-反复练习20遍-必过!!!

新版CKA考试已于2020年9月1日正式上线! 考试模式:线上考试 考试时间:2小时 认证有效期:3年 软件版本:Kubernetes v1.19 重考政策:可接受1次重考 经验水平:中級 题目数量:17题 题库量小:随机的题目重复率极高 考试时可打开两个浏览器Tab,一个是考试窗口,一个用来查阅官方文档](https://kubernetes.io/docs/) 01 Task - 英文 Create a new ClusterRole named deployment-clusterrole tha.

随笔记录-分享&记忆 7318

在flex中如何移除所容器下所有子显示对象

<br />容器中的子显示对象分为两类:<br /><br />处于显示列表中的子显示对象。被numChildren所记录的。<br />由容器graphics对象绘制出来的矢量图。这个矢量图不属于Shape类型,不在容器的显示列表中,不被numChildren所记录。而是做为容器的背景矢量图存在,始终处于最后面。<br />因此,准确的说,如果要移除容器下所有子显示对象,就要分别移除这两类对象。 <br />比如有一个容器,其下有8个sprite子对象,和一个graphics绘制出的图像:<br /> v

tgh7934418715的专栏 1400

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

每天学一点Flash 47 As3 0 删除容器所有子对象

每天学一点Flash 47 As3 0 删除容器所有子对象

truhfcg的博客 483

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

用AS3清空容器下所有子显示对象

容器中的子显示对象分为两类: 处于显示列表中的子显示对象。被numChildren所记录的。 由容器graphics对象绘制出来的矢量图。这个矢量图不属于Shape类型,不在容器的显示列表中,不被numChildren所记录。而是做为容器的背景矢量图存在,始终处于最后面。 因此,准确的说,如果要移除容器下所有子显示对象,就要分别移除这两类对象。 比如有一个容器,其下有8个sprit...

weixin_30794491的博客 81

【转】As3.0 删除容器所有子对象

经过查询了资料发现了删除容器的所有子对象也有这样的学问啊。原来是关于深度的问题,每删除一个子对象  ,深度就会自动移动并填充这个空位。  每个DisplayObjectContainer对象都有一个numChildren属性,numChildren记录了这个对象里子对象的个数,当  容器对象里添加了一个子对象,位置为0,numChildren为1,添加第二个子对象时,位置为1,n

Nobel2313的专栏 2008

As3.0 删除容器所有子对象

经过查询了资料发现了删除容器的所有子对象也有这样的学问啊。原来是关于深度的问题,每删除一个子对象 ,深度就会自动移动并填充这个空位。 每个DisplayObjectContainer对象都有一个numChildren属性,numChildren记录了这个对象里子对象的

起跑线的专栏 1141

每天学一点Flash(47) As3 0 删除容器所有子对象

每天学一点Flash(47) As3 0 删除容器所有子对象

cfhgcvb的博客 251

AS3.0 基础代码收集

AS3.0 控制时间轴上动作 1:addFrameScript()方法 //允许你指定在flash player播放头播放到指定的位置时触发事件. mc.addFrameScript(帧位置,调用函数); 2:鼠标的点击事件    btn.addEventListener(MouseEvent.鼠标事件,调用事件)    事件定义    function xxx(ev

waizi1976的专栏 4931

AS3容器:DisplayObjectContainer与Sprite、MovieClip

显示对象容器(DisplayObjectContainer)是显示对象的子类,可以在其内放置显示对象,当然也包括容器。 22.1 容器的概念和实现 容器有属于自己的子对象列表,既包括非容器显示对象也可以包括子容器对象。 在AS3中有6个重要的容器,包括DisplayObjectContainer的4个子类:Sprite、MovieClip、Loader和Stage 也包括Flex组件架构中

这样的你要多久 2297

Flex中改变对象在容器中的叠放层次

1、在容器中添加对象、移除对象和检测容器中是否存在对象 容器对象.addChild(显示对象);//在容器中添加对象 容器对象.removeChild(显示对象);//在容器中删除对象 容器对象.contains(显示对象);//检测容器中是否存在显示对象,如果存在返回true,不存在返回false. 2、在容器中添加对象,并设置对象的深度(就是在容器中存在的层次),在同一深度只...

ahc4173的博客 168

ActionScript 3.0 Cookbook 6.2 从显示列表中移除项目(翻译:转载请注明)

6.2 从显示列表中移除项目(翻译:转载请注明)问题:你要想从显示列表移除项目从而从屏幕中移除解决方案:使用DisplayObjectContainer 类的removeChild()和removeChildAt()方法讨论:6.1节中已经陈述了如何用addChild()和addChildAt()方法去在显示列表中增加显示对象达到相反的效果可以用removeChild()和removeChild(

913

AS3.0 中的 变量回收机制

简介 策略 Incremental Mark and Sweep 移除对象 移除事件 总结简介简单地来说,AS3.0 中的变量回收机制可以用一句话概括,当对象在程序中不能被访问到时,其就会被垃圾回收所标记,但不会被立即回收。当程序所占空间达到极限时,可回收的对象才会被回收。策略: Incremental Mark and Sweep我们并不能知道被标记为可回收的对象何时会被回收,最理想的状态时,当一

suzuiyue的专栏 902

AS3事件机制概述

事件机制是AS3的核心功能之一,没有充分掌握事件机制的方方面面,就不能算是精通AS3语言。 1. AS3事件机制的主要成员 IEventDispatcher:事件派发对象接口,定义了添加、派发、移除、是否监听指定事件、是否触发指定事件接口 EventDispatcher:事件派发对象接口的实现者,用户无法撇开EventDispatcher而自行实现IEventDispatcher接口,无

程序交流中心 1874
上一篇: 转一个超炫效果,as3制作的。
下一篇: 什么是RIA
wx红杉树
博客等级 码龄21年 383粉丝 296原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值