Saya membuat lapisan level yang mencakup semua hal dalam game, seperti latar belakang, musuh, peluru, pemain, dan stiker lainnya, saya ingin membuat lapisan ini dapat dipindahkan, diperbesar dan diperkecil, kemungkinan besar clash of clans kuat>, Apakah ada saran atau ideal, terima kasih.
bagaimana cara memindahkan, memperbesar atau memperkecil layer seperti coc di cocos2d-x?
Jawaban (1)
Misalkan nama Lapisan Anda adalah exampleLayer
GERAKAN LAPISAN
Di lapisan fungsi ccTouchMoved Anda, terapkan kode berikut
void ccTouchMoved(CCTouch* touch, CCEvent* event)
{
CCPoint diff = touch->getDelta();
CCPoint currentPos = exampleLayer->getPosition();
exampleLayer->setPosition(ccpAdd(currentPos, diff));
}
ZOOM IN DAN ZOOM OUT
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
}
Anda dapat memanggil metode ini pada tombol zoomIn dan zoomOut, atau sesuai desain game Anda. Semoga ini bisa membantu Anda.
person
touchscreenstudio
schedule
05.07.2013
Terima kasih atas kiriman Anda, saya dapat memindahkan lapisannya sekarang, tetapi hal berikutnya adalah mengikat lapisan tersebut, untuk mencegah pemindahan latar belakang melampaui port tampilan.
- person kode cooper; 05.07.2013
Terima kasih, menurut saya masalah sebenarnya adalah lapisan gulir dengan kamera. :-)
- person kode cooper; 05.07.2013