SpriteBuilder中同父节点的显示顺序

如下图:

到目前为止,GameScene依赖于节点在SpriteBuilder中的顺序去决定其绘制的顺序。

level content(_levelNode)被首先绘制,然后GameMenuLayer被画在前者的上面。

不管如何,现在你在代码中删除了_levelNode,然后加载了一个新的并且把它作为GameScene的一个孩子添加进来。添加一个节点将总是将其放在绘制列表的最后面。

因此,绘制顺序现在反转了,所以你不再能看到pause按钮了(其在GameMenuLayer层上).

为了修复这个问题,修改addChild:方法为:

level.zOrder = -1;
[self addChild:level];
//or将上面两句换成下面一句:
//[self addChild:level z:-1];

z序(zOrder)属性决定节点的绘制顺序。同一个父节点的所有子节点,z序低的在z序高的节点之前绘制。如果子节点的z序相同则按其添加到父节点的顺序显示。

时间: 2025-01-19 07:25:30

SpriteBuilder中同父节点的显示顺序的相关文章

ext tree checkbox 中选中父节点,如何让子节点不展开

问题描述 我做有关ext tree checkbox的项目,基本上没有是什么大问题,就是在选中父节点时,所有的子节点都会展开,求问怎样才能在选中父节点时,子节点还是处于收缩状态 问题补充:lizhi92574 写道 解决方案 还得把node.expand(); //展开方法去掉解决方案二:node.eachChild(function(child) { child.ui.checkbox.checked = checked; child.ui.checkbox.defaultChecked =c

SpriteBuilder中节点的%位置移动

在SpriteBuilder中可以将一个节点的位置设为%形式,这意味着在不同的屏幕尺寸中,该节点会定位在相对同一个位置. 比如x和y分别为 50%和50%的位置,在各种屏幕中都会定位到屏幕的中心. 但是我们此时在涉及到移动该节点的代码时需要注意,移动的大小不再是绝对的点的长度,而也变为了相对%比的长度. 比如我要把(50%,50%)位置的节点向下移动整个屏幕1/10的距离,可以这样写: id move = [CCActionMoveBy actionWithDuration:5 position

jquery 菜单移动-这是一个菜单移动的操作,但是顺序a向上移动有错误,求指导,请问怎么控制不超出父节点

问题描述 这是一个菜单移动的操作,但是顺序a向上移动有错误,求指导,请问怎么控制不超出父节点 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 无标题文档 #wrap{margin:20px auto;width: 500px;} #wrap li{list-st

cocos2d x-cocos2d-x 如何设置让精灵移动超出父节点的的范围的部分不显示

问题描述 cocos2d-x 如何设置让精灵移动超出父节点的的范围的部分不显示 我想在精灵移动,但是超出父节点的显示范围就不显示,怎么实现啊 解决方案 要对超出部分实现"裁剪" 覆盖CCNode的函数void visit(); void visit()//此方法为绘制时调用,系统每帧调用 { glEnable(GL_SCISSOR_TEST);//这句启用纹理裁剪 //这里要根据CCNode 的位置 和父类的大小 来计算具体的裁剪区域 glScissor(0, 0, 100, 100)

SpriteBuilder添加的TrueType字体未显示在log中的原因分析

按照书上的说法,在SpriteBuilder中添加的TrueType字体名称会在枚举字体方法显示的log中出现.但是运行程序后没有在log中发现对应的字体名称. 因为该字体是例子中作者制作的,所以字体名称与文件名称一定是匹配的(除了没有文件后缀).而且在运行的程序中的确看到了该字体正确的显示效果(Settings用的是系统自带字体,Slider左边的label字体是用户的TrueType字体): 这就证明字体已经加载成功了,但是为毛log中没有呢? 后来才知道,原来log是在MainScene中

Firefox如何调整搜索框中搜索引擎的显示顺序

Firefox调整搜索框中搜索引擎的显示顺序方法如下: 1. 在地址栏输入about:config 2. 在过滤器中输入browser.search.order 3. 根据需要设置搜索引擎的顺序,例如要把Google设置为第一,就将browser.search.order.1 设置其值为Google

swt-java中窗口隐藏与现显示,(子窗口回到父窗口)

问题描述 java中窗口隐藏与现显示,(子窗口回到父窗口) public static Shell shlIvmsv;//声明一个窗口管理器 创建一个窗口 J1 ...... ClientDemo.GetClientDemo().playMain();//创建另外一个窗口 J2 shlIvmsv.setVisible(false);//隐藏主界面 J1 ....... 然后我在 J2对应的程序中, ...... if(Main.shlIvmsv!=null){//显示PC主界面 Main.shl

easyui-使用jQuery easyUI画出左侧树,点击节点,内容显示在center中的页面代码

问题描述 使用jQuery easyUI画出左侧树,点击节点,内容显示在center中的页面代码 点击一个节点,显示相应的数据信息在center中,center中是用datagrid显示的. 解决方案 你需要建立tab标签式的布局,点击就新建tab加载不同的datagrid,除非你datagrid数据结构一样,可以获取datagrid后传递链接参数给reload方法重新加载 DEMO:http://www.coding123.net/article/20131230/jQuery-easyui-

javascript获取网页中指定节点的父节点、子节点的方法小结_javascript技巧

我们在实际的开发当中经常要获取页面中某个html元素,动态的更新该元素的样式.内容属性等. 那么如何获取要更新的这些元素呢?用JavaScript获取这些节点的方法有很多种,下面是总结的一些方法. 1. 通过document节点获取: (1) document.getElementById(elementId):该方法通过节点的ID,可以准确获得需要的元素,是比较简单快捷的方法.如果页面上含有多个相同id的节点,那么只返回第一个节点. 如 今,已经出现了如prototype.Mootools等多