2016-08-03 5 views
0

Я новичок в Cocos2dx, и я пытаюсь создать игру с пометкой «Встряхнуть диск». Поэтому в основном каждый раз, когда игрок ставит свою ставку в ворота, я хочу показать фишку, представляющую, что игрок поставил ставку на эти ворота. Однако использование addChild() для этих ворот работает только в первый раз. На рисунке, показанном ниже, я сначала добавляю красную фишку к воротам, а затем добавляю к этому воротам еще один зеленый чип.Cocos2dx - C++ Как добавить ребенка в спрайт, не укладывая их друг на друга

Однако мне кажется, что зеленый чип был нарисован точно на вершине красного чипа. Я пытаюсь сделать два чипа рядом друг с другом, чтобы игрок мог видеть, что они поставили 1 красный чип и 1 зеленый чип в этих воротах.

Спасибо, что помогли мне и хорошо провели день.

Gatebet.png

ответ

0

Вам необходимо компенсировать положение каждого Sprite добавить немного так, чтобы они не покрывают друг друга.

+0

Спасибо за вашу помощь @PWiggin, я тоже об этом подумал, и я уже использовал этот подход. Тем не менее, мне интересно, есть ли какой-либо более быстрый способ справиться с этой проблемой –

0
cocos2d::MenuItem *menuItemWithImage01 = cocos2d::MenuItemImage::create("unselected_image01_filename.png", "selected_image_filename.png", CC_CALLBACK_1(Layer::Function, this)); 
cocos2d::MenuItem *menuItemWithImage02 = cocos2d::MenuItemImage::create("unselected_image02_filename.png", "selected_image_filename.png", CC_CALLBACK_1(Layer::Function, this));  
auto menu = new cocos2d::Menu(menuItemWithImage01 ,menuItemWithImage02 , NULL); 
menu->alignItemsVertically(); 
this->addChild(menu); 

Это непроверенное, но вы можете создать пункты меню с помощью изображений, а затем добавить их в меню, и выровнять пункты меню по горизонтали/вертикали, как это необходимо.

Так что в вашем случае просто добавьте меню со всеми фишками к воротам и установите их видимыми, когда они активированы?