Я создаю слой уровня, который включает в себя все элементы игры, такие как фон, враги, пули, игрок и другие отличительные знаки, я хочу, чтобы этот слой можно было перемещать, увеличивать и уменьшать, скорее всего clash of clans strong>, Есть какие-нибудь предложения или идеалы, спасибо.
как перемещать, увеличивать или уменьшать слой, как coc в cocos2d-x?
Ответы (1)
Предположим, имя вашего слоя — exampleLayer.
ДВИЖЕНИЕ СЛОЯ
В ваших слоях функция ccTouchMoved реализует следующий код
void ccTouchMoved(CCTouch* touch, CCEvent* event)
{
CCPoint diff = touch->getDelta();
CCPoint currentPos = exampleLayer->getPosition();
exampleLayer->setPosition(ccpAdd(currentPos, diff));
}
МАСШТАБ И МАСШТАБ
void zoomIn()
{
exampleLayer->setPosition(-(CCDirector::sharedDirector()->getWinSize().width/2),-(CCDirector::sharedDirector()->getWinSize().height/2)); // for positioning the laer in middle
exampleLayer->setScale(1); // you can set your scale factor 1 is for example
}
void zoomOut()
{
exampleLayer->setPosition(0,0);
exampleLayer->setScale(1); // set your desired scale factor
}
Вы можете вызывать эти методы на кнопках zoomIn и zoomOut или в соответствии с игровым дизайном. Надеюсь, это поможет вам.
person
touchscreenstudio
schedule
05.07.2013
Спасибо за ваш пост, теперь я могу переместить слой, но следующая вещь связана со слоем, чтобы предотвратить перемещение фона за пределы окна просмотра.
- person kode cooper; 05.07.2013
Спасибо, я думаю, что настоящая проблема заключается в прокрутке слоя с камерой. :-)
- person kode cooper; 05.07.2013