ฉันสร้างเลเยอร์ระดับซึ่งรวมถึงเนื้อหาของเกมทั้งหมด เช่น พื้นหลัง ศัตรู กระสุน ผู้เล่น และสติ๊กเกอร์อื่น ๆ ฉันต้องการทำให้เลเยอร์นี้สามารถย้าย ซูมเข้าและออก ซึ่งเป็นไปได้มากว่า การปะทะกันของเผ่า แข็งแกร่ง> มีข้อเสนอแนะหรืออุดมคติใด ๆ ขอบคุณ
จะย้าย ซูมเข้าหรือออกเลเยอร์เหมือน 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