遍历舞台上所有对象

挺简单的问题,唉,当时不明白 numChildren 与  index的关系  原来添加在显示容器的显示对象都是按照 0,1,2...numChildren的序号排列的

private var count:int = 0;

/**传入stage即可获得舞台上所有显示对象数目

* st: 需要被统计的显示容器

*/
public function getChildrenNum(st:DisplayObjectContainer):int{
         count += st.numChildren;
         for (var i:int = 0;i < st.numChildren;i++){
         if (st.getChildAt(i) is DisplayObjectContainer)
           getChildrenNum(st.getChildAt(i) as DisplayObjectContainer);
        }
       return count;
}

时间: 2024-10-15 02:17:55

遍历舞台上所有对象的相关文章

Quick-cocos2d-x3.3 Study (十四)--------- 遍历 TiledMap 中的对象层,并取得所有坐标

遍历 TiledMap 中的对象层,并取得所有坐标 1 -- 将心心添加到背景层中 2 function BackgroundLayer:addHeart( ) 3 -- body 4 -- getObjectGroup 方法从地图中获取到指定的对象层(也就是个 ObjectGroup 对象组对象), 5 -- 对象组 ObjectGroup 中包含了多个对象, 6 -- 所以我们可以通过 getObjects 方法从 ObjectGroup 中获得所有的对象. 7 -- objects 在这里

c# winform 循环遍历界面上的所有控件,foreach,Controls,AllowDrop

foreach (System.Windows.Forms.Control control in this.groupBox2.Controls)//遍历groupBox2上的所有控件 { if (control is System.Windows.Forms.PictureBox) { System.Windows.Forms.PictureBox pb = (System.Windows.Forms.PictureBox)control; pb.AllowDrop = true; } if

继承与接口,abstract,interface,final,上转型对象

如果你要创建一个水果类,可以先定义什么是水果 /** *用abstract关键字来定义水果,里面所有用abstract修饰的方法都是定义水果的,不需要写方法体,由非抽象的子类来实现且必须实现该方法 */ public abstract class Fruits{ String color = "黄色"; public abstract void juice(); public void color(){ System.out.println(""+color); }

Java中对象的上转型对象

1. 定义 如果B类是A类的子类或间接子类,当用B类创建对象b并将这个对象b的引用赋给A类对象a时,如: A a;a = new B();ORA a;B b = new B();a = b; 则称A类对象a是子类B对象b的上转型对象. 2. 性质 对象b的上转型a的实体是有子类B创建的,但是上转型对象会失去子类B的一些属性和功能.上转型对象具有以下特点: 上转型对象不能操作子类新增加的成员变量,不能使用子类新增的方法.即为较子类B失去一些属性和功能,这些属性和功能是新增的. 上转型对象可以操作子

Java基础知识强化之集合框架笔记53:Map集合之Map集合的遍历 键值对对象找键和值

1. Map集合的遍历(键值对对象找键和值) Map -- 夫妻对  思路:  A: 获取所有结婚证的集合  B: 遍历结婚证的集合,得到每一个结婚证  C: 根据结婚证获取丈夫和妻子 转换:  A: 获取所有键值对对象的集合  B: 遍历键值对对象的集合,得到每一个键值对对象  C: 根据键值对对象获取键和值 2. 代码示例: 1 package cn.itcast_01; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 impo

java 对象的上转型对象(父类)

Example5_10.java class 类人猿 { void crySpeak(String s) { System.out.println(s); } } class People extends 类人猿 { void computer(int a,int b) { int c=a*b; System.out.println(c); } void crySpeak(String s) { System.out.println("***"+s+"***");

.Net遍历窗体上控件

实现遍历窗体上的控件以及找出TextBox控件,代码如下: 1 foreach( Control control in this.Controls ) 2 { 3 if( control is TextBox ) //判断是否是TextBox控件 4 { 5 //TODO... 6 TextBox textBox=control; //里氏转换 7 textBox.Text="Hello World ."; 8 } 9 }

[ActionScript 3.0] AS3 访问舞台上元件的方法

文档类: package { import flash.display.MovieClip; public class Main extends MovieClip { public function Main() { this.addChild(new Test()); } } } 子类: package { import flash.events.Event; import flash.display.Sprite; public class Test extends Sprite { pu

C++中栈和堆上建立对象的区别

在C++中类的对象建立分为两种,一种是静态建立,如A a:另一种是动态建立,如A* p=new A(),A*p=(A*)malloc():静态建立一个类对象,是由编译器为对象在栈空间中分配内存,通过直接移动栈顶指针挪出适当的空间,然后在这片内存空间上调用构造函数形成一个栈对象.动态建立类对象,是使用new运算符将对象建立在堆空间中,在栈中只保留了指向该对象的指针.栈是由编译器自动分配释放 ,存放函数的参数值,局部变量的值,对象的引用地址等.其操作方式类似于数据结构中的栈,通常都是被调用时处于存储