超実用cocos2d!見えないノードの居場所を突き止めよう!

 見えないノードを配置することって結構あるんだよね。。

 実際に配置してみて、あれ?見えないから確認できない!ってなったことは何回もあった。

 そこで対応する方法は見えないノードを見えるようにするだけ!

 試しに

node->setColor(Color3B(255,0,0));

 と書いても何も変わらない。。。ってことはsetColorは背景色を設定する関数ではないことになる。

 

 そしてノードの背景色を設定するにはレイヤーを使う!

 考え方はとても簡単!新規にノードと同じ大きさのレイヤーを一枚作成して、ノードと同じ場所に配置すれば、レイヤーはノードを隠すようになる。そしてレイヤーの背景色を変更すれば、見えないノードの居場所もわかるようになる。

 ソースはこちら!

LayerColor* lc = LayerColor::create(Color4B(255,0,0,128),button->getContentSize().width, button->getContentSize().height);
lc->setAnchorPoint(Vec2::ANCHOR_TOP_LEFT);
lc->setPosition(Vec2(344 + (2 - 1 - i) * 48, -(124 + 62 * j)) + offset);
parent->addChild(lc);

 以上。