标签: cocos2d-x

如何在Cocos2d中暂停动画精灵动画?

当出现正确的消息时,我想暂停/取消暂停特定精灵的动画.我会这样做,CCNode::stopAllActions()但它会取消所有动画,然后再设置.我只是想以快速暂停/无效的方式进行.任何人都有关于这个问题的有效方法的线索?

cocos2d-iphone ccsprite cocos2d-x

2
推荐指数
1
解决办法
3796
查看次数

使用strcat访问内存不良

我正在使用linux.

我有一个叫做的函数:

PlayBackgroundIntroMusic((char *)"IntroMusic");

功能是:

void SoundManager::
PlayBackgroundIntroMusic( char * musicFile)
{
        // Concatenate extension for each platform
        strcat (musicFile,audioExtension);
        CCLOG("musicFile: %c" musicFile);
  SimpleAudioEngine::sharedEngine()->playBackgroundMusic(std::string(CCFileUtils::fullPathFromRelativePath(musicFile)).c_str(), false);
}

但我在线上访问内存很糟糕:

strcat (musicFile,audioExtension);

audioExtension声明:

#include 
using std::string;
#include 
using std::cout; using std::cerr; using std::endl;

/**
 * Declare sound extension for each platform
 * Android = ogg
 * iOS = caf
 * WIN32 = mp3
 */

#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
        static const char * audioExtension = ".wav";
#elif (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
        static const char …

c++ std string-concatenation cocos2d-x

2
推荐指数
1
解决办法
482
查看次数

cocos2d-x中的callfunc

在cocos2d-x中,以下代码段应该在延迟后运行回调函数.我需要做些什么来修复错误?

bool LoadingLevelScreen::initialise() {

        // set up the time delay
    CCDelayTime *delayAction = CCDelayTime::actionWithDuration(0.5f);

    // perform the selector call
    CCCallFunc *callSelectorAction = CCCallFunc::actionWithTarget( 
        this, callfunc_selector( LoadingLevelScreen::menuCallbackStart ) );

    // run the action
    this->runAction( CCSequence::actions(
        delayAction, callSelectorAction, NULL ) );
}

void LoadingLevelScreen::menuCallbackStart(CCObject * pSender)
{
}
Run Code Online (Sandbox Code Playgroud)

编译器错误:

error C2440: 'type cast' : 
cannot convert from 'void (__thiscall LoadingLevelScreen::* )(cocos2d::CCObject *)' 
to 'cocos2d::SEL_CallFunc'
Pointers to members have different representations; cannot cast between them
Run Code Online (Sandbox Code Playgroud)

cocos2d-iphone cocos2d-x

2
推荐指数
1
解决办法
1万
查看次数

Eclipse无法识别环境变量(Mac OS Lion,Eclipse Juno 64-BIT)

我需要一些帮助来尝试使用Eclipse设置C++/Java构建.我正在学习本教程(http://www.raywenderlich.com/11283/cocos2d-x-for-ios-and-android-getting-started),但我无法理解为什么我一直得到"请定义NDK_ROOT".

我更新了create-android-project.sh文件并在终端中应用了这个cmd:export NDK_ROOT ="与create-android-project.sh文件中的NDK相同的路径".当我运行'create-android-project.sh'时,我没有创建项目的问题,运行新创建的项目的build_native.sh也运行有任何问题.

因此,按照以下步骤将"Build Command"从默认更新为教程要求编译项目中的C++和Java文件,而不必在终端中运行build_native.sh,在Eclipse中运行项目.

如果我将自定义构建删除为默认所有编译并在模拟器和设备上的项目上运行.

我附上了项目构建的设置和控制台日志的屏幕截图.

开发环境:Mac OS 10.8(Lion)Eclipse Juno 64-BIT Cocos2d-x v2.0-x-2.0.3 NDK:android-ndk-r7-crystax-5.beta2

请指教.在此输入图像描述

eclipse cocos2d-x osx-lion

2
推荐指数
1
解决办法
4164
查看次数

Cocos2D-x游戏新鲜的Play商店甚至无法打开

我刚刚完成了我的第一个cocos2d-x游戏.我已经在我的GNexus 4.1和其他较低设备上测试了它,包括平板电脑.但是,当购买并下载到Nexus 7时,它甚至不会打开.它运行4.2,这可能是问题吗?任何帮助,将不胜感激.崩溃报告:

java.lang.ExceptionInInitializerError
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1319)
at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5039)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.UnsatisfiedLinkError: Cannot load library:     soinfo_relocate(linker.cpp:975): cannot locate symbol "__exidx_end" referenced by               "libgame.so"...
at java.lang.Runtime.loadLibrary(Runtime.java:371)
at java.lang.System.loadLibrary(System.java:535)
at com.penguinproductions.classiclightcycles.<clinit>(classiclightcycles.java:107)
... 15 more
Run Code Online (Sandbox Code Playgroud)

java android cocos2d-x forceclose nexus-7

2
推荐指数
1
解决办法
2581
查看次数

错误C2059:语法错误:'}'将c源文件添加到项目中

我正在为Windows Phone 8的visual studio express编写一个C++应用程序.

我正在尝试使用flite,一个用c编写的文本到语音库,到目前为止我已经添加了它的源文件和头文件,并且我已经设置了在所有单个c文件上使用预编译头文件的选项,但是源文件仍然没有编译,而是编译器抱怨(很多次):

 error C2059: syntax error : '.'
 error C2059: syntax error : '}'
Run Code Online (Sandbox Code Playgroud)

它在flite源代码中为这段代码抱怨这些问题:

DEF_STATIC_CONST_VAL_STRING(ffeature_default_val,"0");
Run Code Online (Sandbox Code Playgroud)

DEF_STATIC_CONST_VAL_STRING的定义是:

#define DEF_CONST_VAL_STRING(N,S) const cst_val N = {{.a={.type=CST_VAL_TYPE_STRING,.ref_count=-1,.v={.vval= (void *)S}}}}
Run Code Online (Sandbox Code Playgroud)

在这里你可以看到"." 和编译器抱怨的"}".我还没有修改过c源代码,它是为iOS和Android项目构建的,所以我假设我没有掌握如何在visual express中包含C文件.另外,在Visual Express中,.c文件旁边的图标是"++":/

任何帮助是极大的赞赏.

c c++ cocos2d-x

2
推荐指数
1
解决办法
2万
查看次数

如何为android和iphone开发cocos2d-x游戏?

我想为android和iphone开发一个cocos2d-x游戏.我不知道从什么开始我的发展.我知道有一个可用于iphone的模板,但是在iphone上创建之后如何为android平台构建它?

如果我想从eclipse本身开发游戏,而不是在iPhone上开发然后迁移到android,那该怎么办?

我已经试过cocos2d-x.org,射线wenderlich,教程的各种教程http://paralaxer.com/cocos2d-x-project-setup/,http://www.multigesture.net/articles/how-to -setup-的cocos2d-X - -窗口和机器人/,http://www.jesusbosch.com/2012/06/how-to-set-up-android-and-win32-cocos2d.html,HTTP:// gameit.ro/2012/01/creating-an-iphone-and-android-cocos2d-x-hybrid-project-updated/

从以上所有教程中我无法得到任何正确的解决方案.

还告诉我应该在iPhone上开发(代码)然后为Android构建?

先感谢您

cocos2d-x

2
推荐指数
1
解决办法
3957
查看次数

构建testcpp Eclipse项目后出错

我正在尝试按照本指南构建并运行android的测试项目:

" http://www.cocos2d-x.org/wiki/Setting_up_Android_Development_Environment_on_Mac_OSX#Get-the-NDK "

具体问题是在eclipse中构建测试演示之后称为"TestCpp",其中有另一个项目链接到它"libcocos2dx"我得到一个错误说明:

make:***[obj/local/armeabi/objs/cocos_extension_static/CocoStudio/Reader/WidgetReader/LabelReader/LabelReader.o]错误1

这是控制台通过构建过程显示的内容:

****构建配置项目TestCpp的默认值****

bash /Users/mohammadbaroudi/Downloads/cocos2d-x-2.2.5/samples/Cpp/TestCpp/proj.android/build_native.sh NDK_ROOT =/Users/mohammadbaroudi/Downloads/android-ndk-r10 COCOS2DX_ROOT =/Users/mohammadbaroudi /下载/ cocos2d-x-2.2.5/samples/Cpp/TestCpp/proj.android /../../../ .. APP_ROOT = /Users/mohammadbaroudi/Downloads/cocos2d-x-2.2.5/samples/ Cpp/TestCpp/proj.android/.. APP_ANDROID_ROOT = /Users/mohammadbaroudi/Downloads/cocos2d-x-2.2.5/samples/Cpp/TestCpp/proj.android使用预构建的外部Android NDK:警告:/ Users/mohammadbaroudi/Downloads /cocos2d-x-2.2.5/samples/Cpp/TestCpp/proj.android/../../../../cocos2dx/Android.mk:cocos2dx_static:对于静态库
make,总是忽略LOCAL_LDLIBS :进入目录/Users/mohammadbaroudi/Downloads/cocos2d-x-2.2.5/samples/Cpp/TestCpp/proj.android' [armeabi] Compile++ thumb: cocos_extension_static <= LabelReader.cpp /Users/mohammadbaroudi/Downloads/cocos2d-x-2.2.5/samples/Cpp/TestCpp/proj.android/../../../../extensions/CocoStudio/Reader/WidgetReader/LabelReader/LabelReader.cpp: In member function 'virtual void cocos2d::extension::LabelReader::setPropsFromJsonDictionary(cocos2d::ui::Widget*, const Value&)': /Users/mohammadbaroudi/Downloads/cocos2d-x-2.2.5/samples/Cpp/TestCpp/proj.android/../../../../extensions/CocoStudio/Reader/WidgetReader/LabelReader/LabelReader.cpp:54:9: error: 'transform' is not a member of 'std' std::transform(file_extension.begin(),file_extension.end(), file_extension.begin(), (int(*)(int))toupper); ^ make: *** [obj/local/armeabi/objs/cocos_extension_static/CocoStudio/Reader/WidgetReader/LabelReader/LabelReader.o] Error 1 make: Leaving directory/Users/mohammadbaroudi/Downloads/cocos2d-x-2.2.5/samples/Cpp/TestCpp/proj.android"

****建成品****

现在我检查了文件路径,它指向一个不存在的obj文件"LabelReader.o",奇怪的是在"/ WidgetReader"文件夹"上面的错误中提到",有多个读者文件夹,例如:" ButtonReader,CheckBoxReader等"所有附带".o"和".od"文件的名称相同,但LabelReader文件夹为空.

我试图通过在eclipse中右键单击文件并排除它来从构建过程中排除"LabelReader.o"文件,但是发生了同样的错误,我试图右键单击问题选项卡中的错误并点击"修复"通知我它无法修复它.最后想到的是通过修改makefile本身从编译中排除"LabelReader.o"文件,其中讨论了这里:

Makefile文件.如何从编译中排除一个特定文件?

但似乎有多种方法这样做,但我仍然不确定我完全理解什么是错的,除了有一个丢失的文件被编译但无法构建.我很抱歉,如果这个问题太大而且它这也是我的第一个问题,请原谅我,如果我写了很多.

c++ eclipse android android-ndk cocos2d-x

2
推荐指数
1
解决办法
1150
查看次数

如何在cocos2dx中更新openssl?

我最近收到了谷歌播放的电子邮件,以更新我的openssl版本.许多其他人也会收到相同的电子邮件,并询问有关问题.我想知道如何更新openssl我已经通过以下链接在我的mac中更新它http://javigon.com/2014/04/09/update-openssl-in-osx/

但我的apk仍然显示1.0.1a的旧版本,而我的Mac版本是1.0.1j.请让我知道下一步该怎么做.

android openssl cocos2d-x

2
推荐指数
1
解决办法
2960
查看次数

cocos2d-x using_ns_cc

我需要知道C++中Cocos2D-X中这句话的功能是什么:

USING_NS_CC
Run Code Online (Sandbox Code Playgroud)

代码示例:

#include "HelloWorldScene.h"
#include "SimpleAudioEngine.h"
#include "GameOverScene.h"

USING_NS_CC;

HelloWorld::~HelloWorld()
{
    if (_targets)
    {
        _targets->release();
        _targets = NULL;
    }

    if (_projectiles)
    {
        _projectiles->release();
        _projectiles = NULL;
    }

    // cpp don't need to call super dealloc
    // virtual destructor will do this
}
Run Code Online (Sandbox Code Playgroud)

c++ cocos2d-x c++11 cocos2d-x-3.0

2
推荐指数
1
解决办法
1385
查看次数