我为什么需要这个?
基本上我需要将彩色图像变成灰度.包括灰度版本的图像可能是一个解决方案,但在我的情况下空间紧张 - 我不希望我的APK太大.此外,我也想研究一些效果的像素.再次,这是为了使APK更小.
我从CCTexture2D找到了getPixel setPixel和获取图像的像素RGBA,但我想要更简单的东西.
任何帮助表示赞赏.
谢谢!
我想用cocos2d-x(c ++)读一个plist这里是我的plist:
<array>
<dict>
<key>x</key>
<integer>0</integer>
<key>y</key>
<integer>0</integer>
</dict>
<dict>
<key>x</key>
<integer>140</integer>
<key>y</key>
<integer>12</integer>
</dict>
<dict>
<key>x</key>
<integer>120</integer>
<key>y</key>
<integer>280</integer>
</dict>
<dict>
<key>x</key>
<integer>40</integer>
<key>y</key>
<integer>364</integer>
</dict>
<array>
Run Code Online (Sandbox Code Playgroud)
它基本上是由(x,y)坐标组成的字典数组.我原来的阅读代码是:
NSString *path = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"w%i", world] ofType:@"plist"];
NSMutableArray* points = [NSMutableArray arrayWithContentsOfFile:path];
Run Code Online (Sandbox Code Playgroud)
但现在我需要将其翻译成c ++中的cocos2d-x.我用Google搜索了一些文章,但它们都是关于将plist读入字典.我需要一个阵列.
编辑:::
现在我改变了我的plist格式:
<dict>
<key>11x</key>
<integer>0</integer>
<key>11y</key>
<integer>0</integer>
<key>12x</key>
<integer>140</integer>
<key>12y</key>
<integer>12</integer>
<dict>
Run Code Online (Sandbox Code Playgroud)
我该怎么办???我仍然得到同样的错误:
CCDictionary<std::string, CCObject*>* dict = CCFileUtils::dictionaryWithContentsOfFile(plistPath);
int x = (int)dict->objectForKey("11x");
int y = (int)dict->objectForKey("11y");
Run Code Online (Sandbox Code Playgroud)
不行.请先试一试.看看你是否可以从样本plist中读取一个int
我正在学习cocos2D-x并正在做一些精灵动画.
我的目标是当单击一个按钮时,对象会向左移动一些动画.现在,如果你快速点击多次,动画会立即发生,看起来熊似乎希望而不是走路.
它的解决方案看起来很简单,我应该检查动画是否已经在运行以及是否应该运行新动画.
以下是我的代码的一部分.
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("AnimBear.plist");
CCSpriteBatchNode* spriteBatchNode = CCSpriteBatchNode::create("AnimBear.png", 8);
this->addChild(spriteBatchNode,10);
CCArray *tempArray = new CCArray();
char buffer[15];
for (int i = 1; i <= 8 ; i++)
{
sprintf(buffer,"bear%i.png", i);
tempArray->addObject(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(buffer));
}
CCAnimation *bearWalkingAnimation = CCAnimation::create(tempArray,0.1f);
startAnimation = CCSprite::createWithSpriteFrameName("bear1.png");
startAnimation->setPosition(ccp (350 , CCDirector::sharedDirector()->getWinSize().height/2 -100));
startAnimation->setScale(0.5f);
startAnimation->setTag(5);
//Animation for bear walking
bearAnimate = CCAnimate::create(bearWalkingAnimation);
Run Code Online (Sandbox Code Playgroud)
这里bearAnimate是一个全局变量,我想知道它是否正在播放动画.
我该怎么做.?
谢谢.
我有一个场景包含很多层(该层包含许多精灵),我如何暂停计划和动作,但随后我可以恢复它们.
我正在尝试使用boost 1-49的序列化库来编译一个Android应用程序.具体来说,这个项目有一些方便的脚本来完成工作:https://github.com/MysticTreeGames/Boost-for-Android
使用gnu-libstdc ++ 4.6为armeabi-v7a构建没有针对官方ndk-r8的问题.
至少,它能够创建libboost_serialization-gcc-mt-1_49.a而不会遇到任何错误.在构建期间抛出了几个警告,'禁止零大小数组'_pad'[-pedantic]','不支持'long long','不允许命名的变量宏',没有什么看起来很严重,但我不知道声称自己是gnu编译器的专家.
构建boost也创建了libboost_wserialization-gcc-mt-1_49.a,这似乎很奇怪,但可能无关紧要.我没有将它包含在我的makefile中.
无论如何,当我现在尝试使用此库编译我的代码时,我收到以下错误:
/Users/wespaugh/Development/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/libboost_serialization-gcc-mt-1_49.a(xml_iarchive.o): in function boost::archive::xml_iarchive_impl<boost::archive::xml_iarchive>::load(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&):./boost/archive/impl/xml_iarchive_impl.ipp:71: error: undefined reference to 'mbtowc'
/Users/wespaugh/Development/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/libboost_serialization-gcc-mt-1_49.a(xml_iarchive.o): in function boost::archive::xml_iarchive_impl<boost::archive::xml_iarchive>::load(wchar_t*):./boost/archive/impl/xml_iarchive_impl.ipp:101: error: undefined reference to 'mbtowc'
/Users/wespaugh/Development/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/libboost_serialization-gcc-mt-1_49.a(xml_iarchive.o): in function boost::archive::xml_iarchive_impl<boost::archive::naked_xml_iarchive>::load(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&):./boost/archive/impl/xml_iarchive_impl.ipp:71: error: undefined reference to 'mbtowc'
/Users/wespaugh/Development/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/libboost_serialization-gcc-mt-1_49.a(xml_iarchive.o): in function boost::archive::xml_iarchive_impl<boost::archive::naked_xml_iarchive>::load(wchar_t*):./boost/archive/impl/xml_iarchive_impl.ipp:101: error: undefined reference to 'mbtowc'
/Users/wespaugh/Development/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/libboost_serialization-gcc-mt-1_49.a(xml_oarchive.o): in function boost::archive::iterators::ostream_iterator<char> std::__copy_move<false, false, std::input_iterator_tag>::__copy_m<boost::archive::iterators::mb_from_wchar<boost::archive::iterators::xml_escape<wchar_t const*> >, boost::archive::iterators::ostream_iterator<char> >(boost::archive::iterators::mb_from_wchar<boost::archive::iterators::xml_escape<wchar_t const*> >, boost::archive::iterators::mb_from_wchar<boost::archive::iterators::xml_escape<wchar_t const*> >, boost::archive::iterators::ostream_iterator<char>):./boost/archive/iterators/mb_from_wchar.hpp:91: error: undefined reference to …Run Code Online (Sandbox Code Playgroud) 我尝试
使用Xcode 5.1 iOS 7.1
i将adMob添加到cocos2d-x 3.2简单游戏中,遵循https://developers.google.com/mobile-ads-sdk/docs/#ios
和
http://plaincode.blogspot中的教程
.co.il/2014/02 /实例-的-AdMob的集成功能于cocos2d.html
并在"Other Linker Flags"中添加-ObjC标志后
我收到链接错误:
Undefined symbols for architecture armv7s:
"_GCControllerDidDisconnectNotification", referenced from:
-[GCControllerConnectionEventHandler observerConnection:disconnection:] in libcocos2dx iOS.a(CCController-iOS.o)
"_GCControllerDidConnectNotification", referenced from:
-[GCControllerConnectionEventHandler observerConnection:disconnection:] in libcocos2dx iOS.a(CCController-iOS.o)
"_OBJC_CLASS_$_MPMoviePlayerController", referenced from:
objc-class-ref in libcocos2dx iOS.a(UIVideoPlayerIOS.o)
"_OBJC_CLASS_$_GCController", referenced from:
objc-class-ref in libcocos2dx iOS.a(CCController-iOS.o)
(maybe you meant: _OBJC_CLASS_$_GCControllerConnectionEventHandler)
"_MPMoviePlayerPlaybackStateDidChangeNotification", referenced from:
-[UIVideoViewWrapperIos dealloc] in libcocos2dx iOS.a(UIVideoPlayerIOS.o)
-[UIVideoViewWrapperIos setURL::] in libcocos2dx iOS.a(UIVideoPlayerIOS.o)
"_MPMoviePlayerPlaybackDidFinishNotification", referenced from:
-[UIVideoViewWrapperIos dealloc] in libcocos2dx iOS.a(UIVideoPlayerIOS.o)
-[UIVideoViewWrapperIos …Run Code Online (Sandbox Code Playgroud) 我已经安装了cocos2d-x 3.0并尝试构建一个Android版本但是当我运行./build_native.py时,它失败并出现错误
File "./build_native.py", line 89, in do_build
raise Exception("Build dynamic library for project [ " + app_android_root + " ] fails!")
Exception: Build dynamic library for project [ /Users/hoangha/Desktop/Enigma/cocos2d-x-3.0/projects/2048-enhanced-version/source/proj.android ] fails!
Run Code Online (Sandbox Code Playgroud)
我已经阅读了build_native.py中的第89行
if os.system(command) != 0:
raise Exception("Build dynamic library for project [ " + app_android_root + " ] fails!")
Run Code Online (Sandbox Code Playgroud)
但是我不理解python中的命令os.system(命令),所以任何人都可以帮我解决这个错误.
我尝试将AdMob广告和GooglePlay IAP集成到干净的(hello world)cocos2d-js 3.5项目中.
偶尔(每5次运行)应用程序崩溃并显示下面的异常.当我集成IAP时,这种行为就开始了.清洁AdMob集成很好(或者至少被认为是).
到目前为止,我只做了Java部分(除主屏幕外没有调用cocos代码).我确实将google-play-services_lib升级到23版.
日志转储:
E/AndroidRuntime(27040): java.lang.IllegalArgumentException: null reference
E/AndroidRuntime(27040): at com.google.android.gms.common.internal.d.b(SourceFile:45)
E/AndroidRuntime(27040): at com.google.android.gms.ads.internal.g.ao.a(SourceFile:60)
E/AndroidRuntime(27040): at com.google.android.gms.ads.internal.t.b.a(SourceFile:766)
E/AndroidRuntime(27040): at com.google.android.gms.ads.internal.t.m.run(SourceFile:43)
E/AndroidRuntime(27040): at android.os.Handler.handleCallback(Handler.java:733)
E/AndroidRuntime(27040): at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime(27040): at android.os.Looper.loop(Looper.java:149)
E/AndroidRuntime(27040): at android.app.ActivityThread.main(ActivityThread.java:5257)
E/AndroidRuntime(27040): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(27040): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime(27040): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:788)
E/AndroidRuntime(27040): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:604)
E/AndroidRuntime(27040): at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
任何提示?如果您发现它有用,我可以发布一些代码片段...
更新:
德米特里提到,这可能是谷歌方面的错误.我可以在崩溃前看到这些安全警告.它表明导致广告的错误是"坦克世界"
W/Ads (21547): JS: The page at https://googleads.g.doubleclick.net/mads/gma displayed insecure content from http://lh3.googleusercontent.com/mTcg18XIu-LbM4ovcCpet1zMpdkt1QKIZpM7RhdBpH7fjlLFvSRn56yxbh3i92FiHmjLx54rCg.
W/Ads (21547): (https://googleads.g.doubleclick.net/mads/gma:0)
I/chromium(21547): [INFO:CONSOLE(0)] "The page at https://googleads.g.doubleclick.net/mads/gma displayed insecure content from …Run Code Online (Sandbox Code Playgroud) 当我尝试通过Samsung S7 edge启动应用程序时出现此错误.我尝试在OS 5.1及更低版本的其他设备上运行该应用程序,该应用程序运行良好.以下是我从Google控制台获得的错误:
Build fingerprint:
'samsung/hero2ltexx/hero2lte:6.0.1/MMB29K/G935FXXS1APG2:user/release-keys'
Revision: '9'
ABI: 'arm'
pid: 30659, tid: 30659, name: iplay.jaeger >>> com.roshanstudio.jaeger<<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xfa18081c
r0 da180818 r1 f727adf0 r2 00000001 r3 ffffffff
r4 07ffffff r5 da180820 r6 0000001f r7 00000000
r8 f727ae0c r9 40000003 sl 00000001 fp f727a920
ip f4d80fb0 sp ffb4d738 lr f7243703 pc f7241938 cpsr 20070030
backtrace:
#00 pc 00049938 /system/lib/libc.so (arena_run_reg_alloc+87)
#01 pc 0004b6ff /system/lib/libc.so (je_arena_tcache_fill_small+94)
#02 pc 0005ca3b /system/lib/libc.so (je_tcache_alloc_small_hard+18)
#03 pc …Run Code Online (Sandbox Code Playgroud) 我正在为我的游戏使用 Buildbox。我实施了自定义激励广告。问题是当奖励视频打开时游戏音乐会继续。我想在观看视频后静音和取消静音。
我知道 Java,但我不擅长 Objective-C 和 Cocos2dx。
我的AudioEngine.h类:在 libs/cocos2dx/include/audio/include/ 下
/****************************************************************************
Copyright (c) 2014-2015 Chukong Technologies Inc.
http://www.cocos2d-x.org
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do …Run Code Online (Sandbox Code Playgroud)