2012-07-07 44 views
0

我在XCode for iOS下创建了一个Cocos2D-X项目。然后我打算将最终代码传输到Android。Cocos2D-X:调整图像大小,然后将零件切割成CCSprite

我想要做的是制作一个函数来加载图像并在内存中任意调整它们的大小。然后,从调整大小的图像,我会削减它的部分,并将创建CCSprite对象...我真正的问题是在切割零件之前获得调整大小的图像。

我知道Cocoa/UIImage可以实现这一点,但我不会不会使用Objective-c代码,以便Android端口更容易。如果可能,我想在C++/Cocos2D-X中做所有事情。

我试过在我的XCode项目中使用ImageMagick Magick ++源代码,但没有运气,因为我无法编译它。 我试过使用CCImage,但其中没有调整大小的功能。

所以我的问题是:有没有办法在Cocos2DX中调整图像文件的大小?是否有另一种方法来达到我的目标?

谢谢你,让

+0

你已经完成切割,并为他们制作新的精灵,为什么你不调整原始图像的切割精灵? – 2012-07-08 23:06:50

+0

是的,就是我计划要做的事情,正如我在下面的另一条评论中所说的那样。谢谢 – ZenSlainer 2012-07-09 14:17:01

回答

0

是您的应用程序的该重新调整/切割步骤的一部分,或者这是试图以适应应用程序图形一些Android的屏幕分辨率?如果后者是这种情况,我不会推荐它。

你必须明白,调整大小和裁剪可以按任意顺序完成。所以你不需要首先调整图像大小,也可以先剪切图像并稍后重新调整大小。要调整大小,只需使用精灵的缩放属性向上或向下缩放。

至于切割图像,这取决于你想要如何切割它。你可以通过很多方式将图像上的部分切掉(沿边界切割,裁剪出任意形状,切出透明度等)。

+0

切割零件是一款益智游戏。这不是关于屏幕分辨率。我想我会做的是使用更高分辨率的所有图像,然后剪切并使用CCSprite的ScaleX,ScaleY属性来显示这些部分。 – ZenSlainer 2012-07-07 19:49:30

0

要创建一个精灵是一个位图的提取物,你可以这样做,避免产生新的位图(不知道这是你在找什么):

CCSprite * cutSprite = CCSprite :: spriteWithTexture(纹理,CCRectMake(originX,originY,宽度,高度));

+0

我已经在我的代码中使用了切割功能。唯一的麻烦是关于调整大小。在切断之前,我还没有找到调整大小的真实流程。我会深入研究CCTexture2D类,看看能否找到一些东西。谢谢 – ZenSlainer 2012-07-07 19:51:57