函数原型:virtual void addChild(CCNode * child, int zOrder, int tag);
addChild()有三个参数:
1、要加入场景的对象的指针,(可以是CCSprite*,CCLayer*,CCNode*等类型)
2、绘制层的顺序,默认参数值为0,表示最高优先层导入,该值越大表示该层在最后加载(在最高一层),一般背景图层是首先加载,其他元素在加载在背景层上面。因为背景在后面加载的话,会覆盖掉前面加载的元素,看不到想要的图层组合效果。
3、Tag标记。赋予类的某个方法中定义的局部变量(CCNode*类型对象,CCSprite*对象等)一个标记号tag,如果以后在该类的其他方法中要访问这个变量时可以通过调用函数 getChildByTag来取回该对象,从而方便使用这个对象进行想要的操作。这样做的好处是:定义成类的成员变量会一直占用内存资源,而局部变量的生命周期比成员变量短,节省系统资源,而且在外面就可以通过函数getChildByTagtag号来获取这个对象。所以在以后编写Cocos2d代码过程中,尽量使用局部变量。
例如:CCSprite *sp1 = (CCSprite*)this->getChildByTag(tag),然后可以再下面的代码中对该精灵对象进行访问,添加动作等等。
分享到:
相关推荐
要使用JavaScript实现树结构,我们可以定义一个`Node`类,包含`value`(节点值)、`children`(子节点数组)等属性,并提供`addChild`、`removeChild`、`findNode`等方法来操作树。 ```javascript class Node { ...
由于Application的addChild()方法要求必须添加实现了IUIComponent接口的对象,直接使用addChild()添加Sprite或MovieClip这样的display object类是不被允许的。这是因为这些类虽然继承自DisplayObject,但并没有实现...
### FLASH动作脚本详解 #### 一、FLASH脚本基础入门讲解 ...addChild(txt); ``` 以上是关于Flash动作脚本的一些基础知识和常见应用场景的概述。掌握这些概念和技术可以帮助开发者更好地利用Flash创建动态内容。
stage.addChild(Score_MC); //设置记分器显示的初始值 Score_MC.Score_Text.text = "0"; } //在舞台上放置生命值影片剪辑 private function loadLife():void { //对象实例化 Life_MC= new ...
this.addChild(circle); itemsArray.push(circle); dispatchEvent(new Event(Event.CHANGE)); } } ``` #### 三、长方形Sprite管理 **题目描述**: 实现一个类,其中有一个方法,每调用该方法时会在场景中添加一...
在示例中,我们首先创建一个SimpleXMLElement对象,然后使用`addChild`方法添加元素,并可以同时设置元素内容。`addAttribute`方法用于添加属性。 ```php $mysql = new SimpleXMLElement('...
addChild(myTextField); myTextField.text = "Hello, World!"; ``` #### 五、影片剪辑的拖拽 为了使影片剪辑能够在舞台上被拖动,可以使用`startDrag()`和`stopDrag()`方法: ```as _mc.startDrag(); _mc....
根据给定文件的信息,我们可以总结出一系列与Flex和ActionScript 3(AS3)相关的知识点。下面的内容将针对每一个问题进行详细的解答。 ### Flex及AS3基础知识 #### 1.... - **答案**:在AS3中,数组(Array)可以...
压缩包中的"addChild即this.addChild是在此类上添加子级显示对象.txt"文件强调了这一点。`this.addChild()`是在当前类实例的显示列表上添加子项,这会影响该实例的层次结构。 另一方面,`stage`是AS3中的顶级容器,...
说明:这个是用来实现已在场景中的Mc复制多个出来,如AS2中可以duplicateMovieClip,AS3中用是用New和addChild的, 有人会说As3可以用 方法1——反射方法: var ClassRef:Class = getDefinitionByName...
this->addChild(back,0); //加载大炮的炮台效果和图标效果,如果这里的代码与上面的代码前后顺序更改,则会出现炮台效果在水波下面显示。不是没有显示,只是遮挡关系的原因。而看不见 texture=CCTextureCache::...
由于树的节点可能有不同的类型,所以`addChild`函数可能需要接受一个泛型参数,如`std::shared_ptr<Node> child`,利用智能指针管理内存。 ```cpp class Node { public: virtual void addChild(std::shared_ptr...
3. 方法:如`addChild`用于添加子节点,`removeChild`用于移除子节点,`traverse`用于遍历树结构等。 在实现过程中,我们可以通过`this`关键字来引用当前对象,通过`new`关键字创建新的对象实例。例如: ```...
addChild(_s[i]); //设置棋子的初始位置为随机位置 _s[i]->setPosition(ccp(CCRANDOM_0_1() * winSize.width, CCRANDOM_0_1() * winSize.height)); //隐藏棋子 _s[i]->setVisible(false); } //创建一个选择框 ...
$item->addChild('title', $data['title'])->addAttribute('size', $data['title_size']); $item->addChild('content', $data['content']); $item->addChild('pubdate', $data['pubdate']); } ``` 将 `...
dialogBox.addChild(background); // 添加文本字段 var messageText:TextField = new TextField(); messageText.text = "这是一个对话框示例"; dialogBox.addChild(messageText); // 添加确定按钮 var okButton:...
sprite.addChild( background ); sprite.addChild( textField ); return sprite; } // Create the display object for the button's up state private function createOverState():Sprite { var sprite:...
- **添加和删除子组件**:`AddChild` 和 `RemoveChild` 指令允许开发者在状态变化时向容器中添加或从容器中移除子组件。 - **设置事件处理程序**:`SetEventHandler` 指令可以为组件设置特定状态下的事件处理器,这...