0

我是 android 和 cocos2d for android 的新手 .. 我在一个未知站点找到了 api

第一个问题是 cocos2d 正式可用于 android 第二个我在显示动画时遇到问题请帮忙

我在资产文件夹中有图像名称“下载(1).gif”也有“下载(8).gif”,这是我的代码

应用程序在打开后立即崩溃

 public void addAnimation() {

     CCSprite addboxPuzzleOpen = CCSprite.sprite("download (1).gif");           
     addboxPuzzleOpen.setPosition(100,100);      
     addChild(addboxPuzzleOpen);

     CCAnimation OpenPuzzleAnim = CCAnimation.animation("", 0.2f);

     for (int i = 1; i < 8; i++) {            
             OpenPuzzleAnim.addFrame(CCSpriteFrameCache.sharedSpriteFrameCache().spriteFrameByName("download ("+i+").gif"));                 
        }
        CCAction OpenPuzzleAction = CCAnimate.action(2, OpenPuzzleAnim, true);
         addboxPuzzleOpen.runAction(OpenPuzzleAction);

     //}
 }
4

2 回答 2

0

Cocos2D 仅适用于 iOS。在 Android 上,您必须使用 Cocos2d-x,它是引擎的 c++ 端口。类和方法与 Objective-c 非常相似。要从那里调用 java 方法,您可以使用 JNI(此处的示例:http ://www.useatyourownrisk.net/calling-java-methods-from-c-with-cocos2d-x/ )。如果您想知道如何配置 Eclipse 以使用 Cocos2d-x for Android,Ray Wenderlich 的网站上有一个:http ://www.raywenderlich.com/11283/cocos2d-x-for-ios-and-android-getting -开始

于 2013-04-10T19:35:24.770 回答
0

只需将您的图片名称更改为:download_00.gif 为 download_08.gif

替换这一行:

OpenPuzzleAnim.addFrame(CCSpriteFrameCache.sharedSpriteFrameCache().spriteFrameByName("下载("+i+").gif")); 到 ...

OpenPuzzleAnim.addFrame(String.format("download_%02d.png", i));

如果它不能正常工作,那么将 gif 的格式更改为 png 或 jpg 以获得异常效果...... njoy

于 2013-04-13T14:30:24.937 回答