精通Cocos2d-x游戏开发(基础卷)
上QQ阅读APP看书,第一时间看更新

3.5 隐藏在代码中的神秘杀手,节点中的节点操作

这是笔者2013年碰到的BUG,归功于自动提示,它制造了一个很隐蔽的BUG,笔者将一个节点添加到了另外一个节点中,希望每次单击它都能够向上移动x个单位,于是代码变成了这样:

node->setPositionY(getPositionY() + dis);

然后,这个对象就突然消失不见了,笔者以为是其他地方改变了其位置,或者被隐藏了或意外地删掉了,最后笔者跟踪到代码里面进行调试才发现,括号中的getPositionY返回的并不是自己的Y坐标,而是this的Y坐标,this !=node,所以其就偏到屏幕外去了,在节点中操作其他节点时,代码不要输入太快!