我正在做滑动益智游戏我需要帮助如何切割图像并使更多的精灵图像这个图像按照降序排列,玩家将安排纠正位置。
知道如何在cocos2d-x 3.2中切片图像任何人都请帮我解决这个问题。
谢谢老兄。
答案 0 :(得分:1)
您可以使用setTextureRect()
在cocos2d-x中切片精灵。例如,这是16个段的代码,您可以根据您的号码进行更改:
Size visibleSize = Director::getInstance()->getVisibleSize();
vector<Sprite*> vecSprites;
for (int i = 0; i <= 15; i++)
{
Sprite* segment = Sprite::create("example.png");
float segmentWidth = segment->getBoundingBox().size.width / 4;
float segmentHeight = segment->getBoundingBox().size.height / 4;
float originX = (i % 4) * segmentWidth;
float originY = ((int)i/4) * segmentHeight;
segment->setTextureRect(Rect(originX, originY, segmentWidth, segmentHeight));
vecSprites.push_back(segment);
}
以相反的顺序在屏幕上显示精灵的片段:
for (int i = 15; i >= 0; i--)
{
vecSprites[i]->setPosition((i%4) * visibleSize.width / 4, (((int)i/4) + 1) * visibleSize.height / 4);
vecSprites[i]->setAnchorPoint(Vec2::ANCHOR_TOP_LEFT);
this->addChild(vecSprites[i]);
}
答案 1 :(得分:0)
我不知道它是否适用于cocos2d,但它是iOS中的完美解决方案。
请按照给定的链接:
How to programmatically slice an image in 4 , 9 , 16 and 25 slices
您也可以从Github下载应用程序:
https://github.com/bpolat/Image-Slicer