当前位置:编程学习 > wap >>

cocos2d-x,cocos2d-iphone,强势答疑!!!!!!!有问题请问,有问必答!!!!

如题!!!!! --------------------编程问答-------------------- 顶一个! --------------------编程问答--------------------
引用 1 楼 yiyaaixuexi 的回复:
顶一个!

好像发错地方了 应该发到游戏区棏。。。。。 --------------------编程问答--------------------    那请问你cocos2d-x的一个类触发不了ccTouchBegan的问题。我作了this->setIsTouchedEnable(true);但是程序就是不进ccTouchBegan啊,是为什么呢,我的类继承自CClayer,是不是少了什么步骤啊?告诉我吧!大神。 --------------------编程问答--------------------
引用 3 楼 studyveryhard 的回复:
那请问你cocos2d-x的一个类触发不了ccTouchBegan的问题。我作了this->setIsTouchedEnable(true);但是程序就是不进ccTouchBegan啊,是为什么呢,我的类继承自CClayer,是不是少了什么步骤啊?告诉我吧!大神。

http://blog.csdn.net/yanghuiliu/article/details/6963228
如果你在其他地方也注册过,可能优先级被其他类吃掉了,上面写的很清楚。有代码。 --------------------编程问答--------------------
引用 3 楼 studyveryhard 的回复:
   那请问你cocos2d-x的一个类触发不了ccTouchBegan的问题。我作了this->setIsTouchedEnable(true);但是程序就是不进ccTouchBegan啊,是为什么呢,我的类继承自CClayer,是不是少了什么步骤啊?告诉我吧!大神。

CCLayer::onEnter();
setIsTouchEnabled(true);

把这两句加到构造函数里边试试
--------------------编程问答-------------------- 加上 CCLayer::onEnter(); 搞定!
引用 5 楼 zanglengyu 的回复:
引用 3 楼 studyveryhard 的回复:

那请问你cocos2d-x的一个类触发不了ccTouchBegan的问题。我作了this->setIsTouchedEnable(true);但是程序就是不进ccTouchBegan啊,是为什么呢,我的类继承自CClayer,是不是少了什么步骤啊?告诉我吧!大神。

CCLayer::onEnter();
setIsTouchEnab……
--------------------编程问答--------------------
引用 6 楼 studyveryhard 的回复:
加上 CCLayer::onEnter(); 搞定!
引用 5 楼 zanglengyu 的回复:
引用 3 楼 studyveryhard 的回复:

那请问你cocos2d-x的一个类触发不了ccTouchBegan的问题。我作了this->setIsTouchedEnable(true);但是程序就是不进ccTouchBegan啊,是为什么呢,我的类继承自CClayer,是不是少了……


头像这么色....小妖吗 --------------------编程问答--------------------
引用 4 楼 yanghuiliu 的回复:
引用 3 楼 studyveryhard 的回复:
那请问你cocos2d-x的一个类触发不了ccTouchBegan的问题。我作了this->setIsTouchedEnable(true);但是程序就是不进ccTouchBegan啊,是为什么呢,我的类继承自CClayer,是不是少了什么步骤啊?告诉我吧!大神。

http://blog.csdn.net/yanghuiliu/arti……


需要你覆盖某方法-(void)registerWithTouchDispatcher --------------------编程问答--------------------
引用 8 楼 shally131 的回复:
引用 4 楼 yanghuiliu 的回复:

引用 3 楼 studyveryhard 的回复:
那请问你cocos2d-x的一个类触发不了ccTouchBegan的问题。我作了this->setIsTouchedEnable(true);但是程序就是不进ccTouchBegan啊,是为什么呢,我的类继承自CClayer,是不是少了什么步骤啊?告诉我吧!大神。

http://blo……


额,看错,cocos2d-x还没有学习呢
--------------------编程问答--------------------
引用 9 楼 shally131 的回复:
引用 8 楼 shally131 的回复:

引用 4 楼 yanghuiliu 的回复:

引用 3 楼 studyveryhard 的回复:
那请问你cocos2d-x的一个类触发不了ccTouchBegan的问题。我作了this->setIsTouchedEnable(true);但是程序就是不进ccTouchBegan啊,是为什么呢,我的类继承自CClayer,是不是少了什么步骤……


差不多 --------------------编程问答-------------------- 没人吗 --------------------编程问答-------------------- 请问我在CCSprite并且添加了触摸事件,但是在ccTouchBegan方法中执行完操作后却程序崩溃,日志上报出Assertion failure in -[CCTouchDispatcher forceAddHandler:array:],错误,这是哪里出了问题呀?? --------------------编程问答-------------------- CCSprite 断点看一看这个sprite是不是为0x0 --------------------编程问答--------------------
引用 12 楼 sant823 的回复:
请问我在CCSprite并且添加了触摸事件,但是在ccTouchBegan方法中执行完操作后却程序崩溃,日志上报出Assertion failure in -[CCTouchDispatcher forceAddHandler:array:],错误,这是哪里出了问题呀??

CCSprite 断点看一看这个sprite是不是为0x0 
--------------------编程问答-------------------- 0x0是什么意思,是不是该sprite被释放或者丢失了 --------------------编程问答--------------------
引用 14 楼 zanglengyu 的回复:
引用 12 楼 sant823 的回复:
请问我在CCSprite并且添加了触摸事件,但是在ccTouchBegan方法中执行完操作后却程序崩溃,日志上报出Assertion failure in -[CCTouchDispatcher forceAddHandler:array:],错误,这是哪里出了问题呀??

CCSprite 断点看一看这个sprite是不是为0x0

问一下,是不是由于sprite中的ccTouchBegan方法中执行了replaceScene操作导致该错误? --------------------编程问答-------------------- 一直挺想学学cocos2d的 --------------------编程问答--------------------
引用 16 楼 sant823 的回复:
引用 14 楼 zanglengyu 的回复:

引用 12 楼 sant823 的回复:
请问我在CCSprite并且添加了触摸事件,但是在ccTouchBegan方法中执行完操作后却程序崩溃,日志上报出Assertion failure in -[CCTouchDispatcher forceAddHandler:array:],错误,这是哪里出了问题呀??

CCSprite 断……


0x0 是nil 是什么都没有,没有初始化

指针指向的地址中,没有存放东西

你在ccTouchBegan 中replace  意味着你每次触摸手机屏幕就回replace一次,数据量比较大... --------------------编程问答-------------------- 大侠好!
我碰到一个很难解决的使用cocos2dx粒子系统的问题,请大侠帮忙!
使用cocos2dx的CCParticleSystemPoint或者CCPointSystemQuad创建粒子发射器,都会发生内存不断增加的情况,并且在真机上测试时,如果创建粒子,会发生崩溃问题,会崩到使用VBO相关代码处。
我不知道怎么解决啊,请大侠出手相助。谢谢! --------------------编程问答-------------------- 楼主人才啊。 --------------------编程问答--------------------
引用 19 楼 bitfengtiger 的回复:
大侠好!
我碰到一个很难解决的使用cocos2dx粒子系统的问题,请大侠帮忙!
使用cocos2dx的CCParticleSystemPoint或者CCPointSystemQuad创建粒子发射器,都会发生内存不断增加的情况,并且在真机上测试时,如果创建粒子,会发生崩溃问题,会崩到使用VBO相关代码处。
我不知道怎么解决啊,请大侠出手相助。谢谢!


我不是大侠哦,粒子发射器内存按道理说是不会一直增加的,粒子又诸多参数来控制其系统,你把粒子存在时间搞得太长,就会出现问题了,就会一直增加,你看看没cocos2d-x的粒子,那里边的基本可以稳定在30fps阿 --------------------编程问答-------------------- 凤凰你好
我想问两个问题:

第一个: removeChildByTag 方法移除节点后, 这个节点的内存会自动释放吗?
比如这两句
 pNode->removeChildByTag(12, true);
 pNode->addChild(pLabel, 9999, 9999+pos.at(i).target);// 这句再增加一个节点
执行完后, taget为12的这个节点的内存会被自动释放吗?
(因为我看程序反复运行这两个语句的时候,内存消耗是一直增加的)

第二个问题:
资源文件的命名不可以用下划线吗"_"(这个不是表情)?

灰常感谢!

--------------------编程问答-------------------- --------------------编程问答-------------------- 请问大家:我写了CCSequence,其中第一个动作是CCDelayTime两秒,现在想随时触发一个事件就把CCDelayTime动作结束掉,继续CCSequence的下一个动作
如果没有触发该动作,则CCDelayTime照常执行2秒
请问我要怎么结束掉这个CCDelayTime?? --------------------编程问答-------------------- --------------------编程问答--------------------
引用 22 楼 fosly 的回复:
凤凰你好
我想问两个问题:

第一个: removeChildByTag 方法移除节点后, 这个节点的内存会自动释放吗?
比如这两句
 pNode->removeChildByTag(12, true);
 pNode->addChild(pLabel, 9999, 9999+pos.at(i).target);// 这句再增加一个节点
执行完后, taget为12的这个节点的内存……

target为12的是会自动释放的,但是如果target是你自己new的那就不会自动释放,在cocos2d-x的系统中,所有不是由你自己new出来的内存,都是由cocos2d-x本身 autorelease来释放 不必担心内存泄露,但是如果是你自己new出来得 记得释放,至于内存一直增加那就和autorelease自己 释放的时机有关,但是最终都会被释放的
--------------------编程问答--------------------
引用 24 楼 sb3day 的回复:
请问大家:我写了CCSequence,其中第一个动作是CCDelayTime两秒,现在想随时触发一个事件就把CCDelayTime动作结束掉,继续CCSequence的下一个动作
如果没有触发该动作,则CCDelayTime照常执行2秒
请问我要怎么结束掉这个CCDelayTime??


那你可以把他们分开呗,一个带有延迟 一个没有延迟 action是临时生成的,不就行了吗,如果条件触发就生成CCSequence的第二个 并执行 如果不触发就写另外一个action不行吗     不用先写好再根据条件修改原来的action了阿,直接根据条件生成action就是了 --------------------编程问答--------------------
引用 22 楼 fosly 的回复:
凤凰你好
我想问两个问题:

第一个: removeChildByTag 方法移除节点后, 这个节点的内存会自动释放吗?
比如这两句
 pNode->removeChildByTag(12, true);
 pNode->addChild(pLabel, 9999, 9999+pos.at(i).target);// 这句再增加一个节点
执行完后, taget为12的这个节点的内存……


文件名可以带有下划线的,比如 niubi_.png  不知道你的下划线是怎么安排,是_niubi.png 还是_.png 这两种我没试过 不知道,不过这两种命名方式没有多少具体意义了 --------------------编程问答--------------------
引用 26 楼 zanglengyu 的回复:
引用 22 楼 fosly 的回复:

凤凰你好
我想问两个问题:

第一个: removeChildByTag 方法移除节点后, 这个节点的内存会自动释放吗?
比如这两句
pNode->removeChildByTag(12, true);
pNode->addChild(pLabel, 9999, 9999+pos.at(i).target);// 这句再增加一个节点
执行……


谢谢! 非常感谢! --------------------编程问答-------------------- --------------------编程问答-------------------- 凤凰前辈, 还有一个问题, 关于cygwin 中opengl配置的.

代码中用到了一些gl的库函数, win下编译通过, 但是交叉编译的时候提示找不到, 例如使用'glColor4f'

报错: 

SharedLibrary  : libgame_logic.so
./obj/local/armeabi/objs-debug/game_logic/Character.o: In function `CCharacter::drawHitTestBoxLayer()':
E:\APKMAKE\ko\android/jni/../../Classes/Character.cpp:160: undefined reference to `glColor4f'
E:\APKMAKE\ko\android/jni/../../Classes/Character.cpp:161: undefined reference to `glEnable'
collect2: ld returned 1 exit status
/cygdrive/d/Android/android-ndk-r7/build/core/build-binary.mk:312: recipe for target `obj/local/armeabi/libgame_logic.so
' failed
make: *** [obj/local/armeabi/libgame_logic.so] Error 1
make: Leaving directory `/cygdrive/e/APKMAKE/ko/android'


请问我应该如何设置呢?
还是非常感谢! --------------------编程问答--------------------
引用 31 楼 fosly 的回复:
凤凰前辈, 还有一个问题, 关于cygwin 中opengl配置的.

代码中用到了一些gl的库函数, win下编译通过, 但是交叉编译的时候提示找不到, 例如使用'glColor4f'

报错: 

SharedLibrary : libgame_logic.so
./obj/local/armeabi/objs-debug/game_logic/Character.o: In f……


Android平台的?这个不会,你可以到coco2d-x官网找些帮助 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 33 楼 xunuo2000 的回复:
楼主Help:http://pro.biehun.com/View-6-170.aspx

............ --------------------编程问答--------------------
引用 33 楼 xunuo2000 的回复:
楼主Help:http://pro.biehun.com/View-6-170.aspx


guangao  a  --------------------编程问答-------------------- 我的电脑是32位win7旗舰版,安装vmware后,安装mac os X lion怎么都不成功?
是不是必须是64位win7才行? --------------------编程问答--------------------
引用 36 楼 cxz7531 的回复:
我的电脑是32位win7旗舰版,安装vmware后,安装mac os X lion怎么都不成功?
是不是必须是64位win7才行?


32位估计也够呛,自己装mac系统很不简单,驱动是主要问题.有些没有硬件没有mac的驱动,或者和mac os与你的CPU芯片不兼容,等等,会有很多麻烦和问题.

建议你买个苹果机,iMAC这个有点贵,可以买黑苹果,淘宝2000RMB搞定 --------------------编程问答-------------------- 用的coco2dX,是这个问题 ,也许不太相关, 望解答 
   我用的admob sdk显示广告条,当我把广告条的view remove之后,软件盘就会弹出来,原因未知,不知道大大有什么见解 --------------------编程问答--------------------
引用 38 楼 getoneking 的回复:
用的coco2dX,是这个问题 ,也许不太相关, 望解答 
   我用的admob sdk显示广告条,当我把广告条的view remove之后,软件盘就会弹出来,原因未知,不知道大大有什么见解


这个不太明白,软键盘的天出来实在一个函数的调用下才可以调出来的,在remove后打断点,跟踪进去找到原因,然后解决 --------------------编程问答--------------------
引用 39 楼 zanglengyu 的回复:
引用 38 楼 getoneking 的回复:

用的coco2dX,是这个问题 ,也许不太相关, 望解答
我用的admob sdk显示广告条,当我把广告条的view remove之后,软件盘就会弹出来,原因未知,不知道大大有什么见解


这个不太明白,软键盘的天出来实在一个函数的调用下才可以调出来的,在remove后打断点,跟踪进去找到原因,然后解决


键盘的相关函数一个也没调用啊,再说removeFromSuperView 是oc的系统函数也跟不进去 --------------------编程问答-------------------- 我新手,我能不能问个超简单的问题,pickview如何添加两行数据,就比如加上“星期一”、“星期二”到“星期日”吧 --------------------编程问答-------------------- 我添加一个textfield,想实现失去焦点后响应一个事件,要怎么做啊,大牛们给个方法吧,我新手 --------------------编程问答--------------------
引用 42 楼 king_returns 的回复:
我添加一个textfield,想实现失去焦点后响应一个事件,要怎么做啊,大牛们给个方法吧,我新手


失去焦点后响应一个时间,失去焦点 是一个action吗 
--------------------编程问答--------------------
引用 41 楼 cs_dnissb2b 的回复:
我新手,我能不能问个超简单的问题,pickview如何添加两行数据,就比如加上“星期一”、“星期二”到“星期日”吧


点击视角? 把星期1-7做成图片,用CCSprite::spriteWithFile("tupianming.png");

或者用字符串,CCFont的函数 --------------------编程问答--------------------
引用 40 楼 getoneking 的回复:
引用 39 楼 zanglengyu 的回复:

引用 38 楼 getoneking 的回复:

用的coco2dX,是这个问题 ,也许不太相关, 望解答
我用的admob sdk显示广告条,当我把广告条的view remove之后,软件盘就会弹出来,原因未知,不知道大大有什么见解


这个不太明白,软键盘的天出来实在一个函数的调用下才可以调出来的,在remove后打断点,跟踪进……


仔细找找,没有调用的话,软件盘不会自己跳出来的吧。。。你搜一下那个调出函数  看看在哪里 --------------------编程问答-------------------- 为什么cocos2d-x中类一般不用构造函数,而用create(....)或者其他函数来构造?
这样做是一种风格,还是有什么好处? --------------------编程问答-------------------- iPhone区惊现大神....膜拜中...有问题一定找你....嘻嘻 有救星了 --------------------编程问答-------------------- 你好,我想问一下,为什么CCMenuItemImage和CCSprite重合的时候不能把CCMenuITemImage放在两个CCSprite的中间吗?我用的是CCMenu的对象指针和CCNode的对象指针添加的CCMenuItemImage对象和CCSprite对象 --------------------编程问答-------------------- 膜拜大神。。。。。。
--------------------编程问答-------------------- 学习一下。请问这个和Box2D哪个简单呢? --------------------编程问答--------------------
引用 46 楼  的回复:
为什么cocos2d-x中类一般不用构造函数,而用create(....)或者其他函数来构造?
这样做是一种风格,还是有什么好处?


也许是类似Box2D,为了让创建的对象能处于世界管理之下。猜的,我不了解。 --------------------编程问答-------------------- 请问,在linux上配置cocos2d-x的android环境时,会出现很多错误。像JNI中的main.cpp函数的头文件#include "platform/android/jni/JniHelper.h"丢失,怎么解决? --------------------编程问答--------------------
引用 46 楼  的回复:
为什么cocos2d-x中类一般不用构造函数,而用create(....)或者其他函数来构造?
这样做是一种风格,还是有什么好处?


这中方式主要是方便用户 
创建对象是不允许程序员私自new 一个对象的,都是采用静态函数,在静态函数中new一个对象并返回这个对象的指针,主要是方便采用cocos2d-x的人对内存的管理 --------------------编程问答--------------------
引用 48 楼  的回复:
你好,我想问一下,为什么CCMenuItemImage和CCSprite重合的时候不能把CCMenuITemImage放在两个CCSprite的中间吗?我用的是CCMenu的对象指针和CCNode的对象指针添加的CCMenuItemImage对象和CCSprite对象


把这些添加到同一个父对象上,是有次序的,先添加的叠放次序低,会被后来的覆盖,位置一样就会被覆盖 --------------------编程问答--------------------
引用 52 楼  的回复:
请问,在linux上配置cocos2d-x的android环境时,会出现很多错误。像JNI中的main.cpp函数的头文件#include "platform/android/jni/JniHelper.h"丢失,怎么解决?


linux的不太清楚,咨询下官网 --------------------编程问答-------------------- 请教一下用texturepacker做的纹理,怎么在一般的ios开发中读取。 --------------------编程问答--------------------
引用 56 楼  的回复:
请教一下用texturepacker做的纹理,怎么在一般的ios开发中读取。

把packer打包好的plist和png放到Resource
几次性加载plist
CCspriteFrameCache::sharedSpriteFrameCache()->addImage("Test.plist");

调用:
CCSprite *pSpr=CCSprite::spriteWithFrameName("Img1_In_Test.png"); --------------------编程问答-------------------- 请教,关于cocos2d-x中autoReleas机制。
我想:在类ALayer中调用类BLayer,类BLayer中调用类ALayer,于是:
在scene中定义了一个CCDictionary,new一个Layer就存进去。同时new的时候,把这个scene的this当new的Layer的构造函数的参数。
此时,scene中的CCDictionary如果没有retain,那么ALayer(写在前面的)调用BLayer就出错。B调用A没问题。。。求解原理
--------------------编程问答-------------------- 在没有装cocos2d的情况下,怎么读?UIImage = [UIImage imageName:imagename];比如这个
引用 57 楼  的回复:
引用 56 楼  的回复:
请教一下用texturepacker做的纹理,怎么在一般的ios开发中读取。

把packer打包好的plist和png放到Resource
几次性加载plist
CCspriteFrameCache::sharedSpriteFrameCache()->addImage("Test.plist");

调用:
CCSprite *pSpr=CCSpr……
--------------------编程问答--------------------
引用 58 楼  的回复:
请教,关于cocos2d-x中autoReleas机制。
我想:在类ALayer中调用类BLayer,类BLayer中调用类ALayer,于是:
在scene中定义了一个CCDictionary,new一个Layer就存进去。同时new的时候,把这个scene的this当new的Layer的构造函数的参数。
此时,scene中的CCDictionary如果没有retain,那么ALayer(……


代码贴上来看看。。 --------------------编程问答-------------------- 请教 object-c如何开发星级评定功能!
谢谢! --------------------编程问答-------------------- 请教 cocos2d 中的box2d如何产生一个带有水的世界 就是使用2个力的向量一个是重力 一个是水的浮力
谢谢 --------------------编程问答-------------------- 新建cocos2d-x项目每次运行都缺少头文件,求解决办法。
1> Creating directory "E:\study folder\MyTest01\Debug.win32\".
1>InitializeBuildStatus:
1> Creating "Debug.win32\MyTest01.win32.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>ClCompile:
1> main.cpp
1>e:\study folder\mytest01\mytest01\proj.win32\main.h(11): fatal error C1083: Cannot open include file: 'CCStdC.h': No such file or directory
1> HelloWorldScene.cpp
1>e:\study folder\mytest01\mytest01\classes\helloworldscene.h(4): fatal error C1083: Cannot open include file: 'cocos2d.h': No such file or directory
1> AppDelegate.cpp
1>e:\study folder\mytest01\mytest01\classes\appdelegate.cpp(1): fatal error C1083: Cannot open include file: 'cocos2d.h': No such file or directory
1> Generating Code...
1>
1>Build FAILED.
难道每次都要把源码中的几个文件夹和库文件拷过来吗? --------------------编程问答-------------------- 1>InitializeBuildStatus:
1>  Creating "Debug.win32\flyshoot.win32.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>ClCompile:
1>  MapScene.cpp
1>e:\study folder\flyshoot\classes\mapscene.h(4): fatal error C1083: Cannot open include file: 'cocos2d.h': No such file or directory
1>  main.cpp
1>e:\study folder\flyshoot\win32\main.h(11): fatal error C1083: Cannot open include file: 'CCStdC.h': No such file or directory
1>  GameSprite.cpp
1>e:\study folder\flyshoot\classes\gamesprite.h(2): fatal error C1083: Cannot open include file: 'cocos2d.h': No such file or directory
1>  GamePlayer.cpp
1>e:\study folder\flyshoot\classes\gamesprite.h(2): fatal error C1083: Cannot open include file: 'cocos2d.h': No such file or directory
1>  GameEnemy.cpp
1>e:\study folder\flyshoot\classes\gamesprite.h(2): fatal error C1083: Cannot open include file: 'cocos2d.h': No such file or directory
1>  GameBullet.cpp
1>e:\study folder\flyshoot\classes\gamesprite.h(2): fatal error C1083: Cannot open include file: 'cocos2d.h': No such file or directory
1>  AppDelegate.cpp
1>e:\study folder\flyshoot\classes\appdelegate.h(4): fatal error C1083: Cannot open include file: 'CCApplication.h': No such file or directory
1>  Generating Code...
1>
1>Build FAILED.
下载了bill_man君的flyshoot源码,然后把BOX2d cocos2d-x 和CocosDenshion文件夹拷入,也把库文件复制了,为什么还会出这种情况?我的cocos2d-x版本是cocos2d-2.0-rc0a-x-2.0,难道太新了? --------------------编程问答--------------------
引用 61 楼  的回复:
请教 object-c如何开发星级评定功能!
谢谢!

这个简单的。。。。

星级评定这个简单的三步 

1. 设置不同星级的条件,比如一关得80分为2.5星,100分3星 就是设置一定的星级,根据设置条件 设置1星2星3星

2. 让美工画两幅图,一副是星星灰色的,一副是亮色的,大小什么的完全一样,可以画在一张图里边去。

3. 将暗色的Sprite贴在需要显示的位置,然后一个星就是 在亮色的图上截取一个星的大小,贴在那个位置,2个星就是截2颗。 --------------------编程问答--------------------
引用 64 楼  的回复:
1>InitializeBuildStatus:
1> Creating "Debug.win32\flyshoot.win32.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>ClCompile:
1> MapScene.cpp
1>e:\study folder\flyshoot\classes\mapscene.h……


你是用VS2010编译的吧,这个我搭建过基于win32平台的,确实报很多错误,只能运行自带的例子,自己新建工程就会包很多错误,所以把示例程序中的工程文件打开,把缺少的dll文件找到放到你自己新建的工程目录的相应位置中去,知道不提示错误为止

说实话,我用VS2010调试的时候很不方便,不显示每个变量的值,后来换黑苹果了  哈哈

--------------------编程问答--------------------
引用 62 楼  的回复:
请教 cocos2d 中的box2d如何产生一个带有水的世界 就是使用2个力的向量一个是重力 一个是水的浮力
谢谢


对box2d研究不深入,BOX2D一般有大地基准线,重力和浮力就是两个加速的问题,浮力的计算方法很多,不过最终还是 F = m*a^2,化成矢量图就是两个方向的加速度。 --------------------编程问答--------------------
cocos2d中的CCMenuItemSprite按钮被连续快速的多次点击,导致方法被多次加载的程序崩溃。请问有什么方法解决的? --------------------编程问答-------------------- 每当点击一次 接着让他 setEnable(false);然后根据其他条件在 setEnable(true);

如果真的需要多次点击的话:那么每次点击就判断一次原来方法中开辟的内存 即 你调用的方法中 new出的东东  是不是null,如果不是就先释放,在重新加载,一直重新加载当然会出问题


具体代码是什么 你可以说的再详细点。。。。。 --------------------编程问答--------------------
引用 68 楼  的回复:
cocos2d中的CCMenuItemSprite按钮被连续快速的多次点击,导致方法被多次加载的程序崩溃。请问有什么方法解决的?


每当点击一次 接着让他 setEnable(false);然后根据其他条件在 setEnable(true);

如果真的需要多次点击的话:那么每次点击就判断一次原来方法中开辟的内存 即 你调用的方法中 new出的东东  是不是null,如果不是就先释放,在重新加载,一直重新加载当然会出问题


具体代码是什么 你可以说的再详细点。。。。。 --------------------编程问答-------------------- LZ大神,请教一下在mac上用cocos2d-x模版建立的工程里
  把资源像图片放到resource下的新目录比如新建一个Image文件夹中 
在代码里进行引用图片路径的时候,比如
AAAAA.h:
  //存储一张图片路径
   static const char s_pBackGround[]="Images/BackGround.png";

BBBBBB.cpp中
      //create a sprite
CCSprite *pSprite=CCSprite::spriteWithFile(s_pBackGround);
   在这里生成这个精灵的时候为什么生成不成功,pSprite为空
  当把BackGround.png这张图片直接放到其上一级目录也就是Resource中时
  使用 static const char s_pBackGround[]="BackGround.png";这种方式来存储
  图片路径就会成功呢,子目录下的资源路径需要怎么引用呢
--------------------编程问答-------------------- 使用 cocos2d-x 和 lua 开发游戏(不使用box2d),如何搭建框架,传统的cocos2d游戏框架都基本上遵循MVC模式,结合 lua 以后,是不是要把MVC搬到lua上,还是只把M交给lua去做,有没有 他们 的开发过程可供参考的 --------------------编程问答--------------------
引用 71 楼  的回复:
LZ大神,请教一下在mac上用cocos2d-x模版建立的工程里
  把资源像图片放到resource下的新目录比如新建一个Image文件夹中 
在代码里进行引用图片路径的时候,比如
AAAAA.h:
  //存储一张图片路径
  static const char s_pBackGround[]="Images/BackGround.png";

BBBBBB.cpp中
  /……



这个具体原因 暂时不清楚,你创建新的目录后,刷新下,把文件先放到具体的文件夹下,再从工程里边导入那个位置的文件,再试一次 --------------------编程问答--------------------
引用 72 楼  的回复:
使用 cocos2d-x 和 lua 开发游戏(不使用box2d),如何搭建框架,传统的cocos2d游戏框架都基本上遵循MVC模式,结合 lua 以后,是不是要把MVC搬到lua上,还是只把M交给lua去做,有没有 他们 的开发过程可供参考的


lua是一种脚本语言,我想他们具体是可以相结合使用,看你怎么去用了,把lua擅长处理的数据形式交给lua处理,再用来cocos2d-x中调用,就是个发挥自己的优势 --------------------编程问答-------------------- LZ 再次请教一个问题
如下面我创建了一个精灵
CCSprite *pSprite=CCSprite::spriteWithFile(s_pBackGround);
假如这个图片的尺寸是80x40的,我需把这个pSprite缩放到50x50的区域中
除了pSprite->SetScale()或X()或者Y()这样的函数之外
有没有比如指定一个区域(如50x50),直接把这个pSprite直接放进行,它会自动缩放
,因为对于区域和图片不等比的情况下用scale类函数需要不断的去试缩放比例,不太精确。


--------------------编程问答--------------------
引用 75 楼  的回复:
LZ 再次请教一个问题
如下面我创建了一个精灵
CCSprite *pSprite=CCSprite::spriteWithFile(s_pBackGround);
假如这个图片的尺寸是80x40的,我需把这个pSprite缩放到50x50的区域中
除了pSprite->SetScale()或X()或者Y()这样的函数之外
有没有比如指定一个区域(如50x50),直接把这个pSprite……


我记得有一个缩放多少倍的函数,参数是float形式的,比如我把它缩小到原来的0.6倍。。

不过好像满足不了你的需求,但你可以根据情况自己写一个函数,根据背景区域的大小,和自己图片的大

小,计算X Y 的值,然后相除,根据需要计算需要拉伸X Y的坐标或者倍数。

拉伸完了 返回这个sprite,最后把他放在这个区域的中心点就行了吧 --------------------编程问答--------------------
引用 75 楼  的回复:
LZ 再次请教一个问题
如下面我创建了一个精灵
CCSprite *pSprite=CCSprite::spriteWithFile(s_pBackGround);
假如这个图片的尺寸是80x40的,我需把这个pSprite缩放到50x50的区域中
除了pSprite->SetScale()或X()或者Y()这样的函数之外
有没有比如指定一个区域(如50x50),直接把这个pSprite……


这个完了会很难看的,为什么需要这样子的拉伸? 可以直接截取图片上的中心区域,可以看一下ImageView的

几种布局参数 就那几种显示的方式,拉伸是图片格式不完美的体现,很难看,尤其是单向拉伸 --------------------编程问答--------------------
引用 76 楼  的回复:
引用 75 楼 的回复:
LZ 再次请教一个问题
如下面我创建了一个精灵
CCSprite *pSprite=CCSprite::spriteWithFile(s_pBackGround);
假如这个图片的尺寸是80x40的,我需把这个pSprite缩放到50x50的区域中
除了pSprite->SetScale()或X()或者Y()这样的函数之外
有没有比如指定一个区域(如50x50……


嗯,这样拉得太失真了 --------------------编程问答--------------------
引用 76 楼  的回复:
引用 75 楼 的回复:
LZ 再次请教一个问题
如下面我创建了一个精灵
CCSprite *pSprite=CCSprite::spriteWithFile(s_pBackGround);
假如这个图片的尺寸是80x40的,我需把这个pSprite缩放到50x50的区域中
除了pSprite->SetScale()或X()或者Y()这样的函数之外
有没有比如指定一个区域(如50x50……


确实拉申了太失真了 --------------------编程问答--------------------
引用 79 楼  的回复:
引用 76 楼  的回复:
引用 75 楼 的回复:
LZ 再次请教一个问题
如下面我创建了一个精灵
CCSprite *pSprite=CCSprite::spriteWithFile(s_pBackGround);
假如这个图片的尺寸是80x40的,我需把这个pSprite缩放到50x50的区域中
除了pSprite->SetScale()或X()或者Y()这样的函数之外
有没……


嗯 换一种方式吧 --------------------编程问答-------------------- 请问大侠~~游戏可以正常运行,但是点击频率过快就会出发下面的错误: 
Assertion failure in -[CCSpriteBatchNode removeChild:cleanup:], /Users/apple/Desktop/CrazyHunter/libs/cocos2d/CCSpriteBatchNode.m:202 --------------------编程问答-------------------- 请问大侠~~游戏可以正常运行,但是点击频率过快就会出发下面的错误: 
Assertion failure in -[CCSpriteBatchNode removeChild:cleanup:], /Users/apple/Desktop/CrazyHunter/libs/cocos2d/CCSpriteBatchNode.m:202
--------------------编程问答--------------------
引用 82 楼  的回复:
请问大侠~~游戏可以正常运行,但是点击频率过快就会出发下面的错误: 
Assertion failure in -[CCSpriteBatchNode removeChild:cleanup:], /Users/apple/Desktop/CrazyHunter/libs/cocos2d/CCSpriteBatchNode.m:202


貌似这是个 断言错误,在removeChild函数中的cleanup函数中,你看下函数调用的堆栈,现在好像是死在CCSpriteBatchNode.m:202行了,看看你自己写的代码,哪里调用到了这个函数,写完代码最好单步调试一下,看看变量的值 跟你的流程是不是对着的,然后再黑盒测, --------------------编程问答-------------------- 楼主,我想请教下怎么移植开源库jrtplib到ios平台上可以使用呢?谢谢啊~ --------------------编程问答--------------------
引用 84 楼 lillian0388 的回复:
楼主,我想请教下怎么移植开源库jrtplib到ios平台上可以使用呢?谢谢啊~


jrtplib库 移植到ios上?   不懂 --------------------编程问答--------------------
引用 85 楼 zanglengyu 的回复:
引用 84 楼 lillian0388 的回复:
楼主,我想请教下怎么移植开源库jrtplib到ios平台上可以使用呢?谢谢啊~

jrtplib库 移植到ios上?   不懂
就是把jrtplib开源代码编译为一个.a静态库,可以在xcode上使用哪,我弄了好久没有成功~ --------------------编程问答--------------------
引用 86 楼 lillian0388 的回复:
引用 85 楼 zanglengyu 的回复:
引用 84 楼 lillian0388 的回复:
楼主,我想请教下怎么移植开源库jrtplib到ios平台上可以使用呢?谢谢啊~

jrtplib库 移植到ios上?   不懂就是把jrtplib开源代码编译为一个.a静态库,可以在xcode上使用哪,我弄了好久没有成功~


是不是需要建一个工程,这个工程不是应用编译目标是一个静态库? 在新建工程时选择对的工程模板可不可以呢 --------------------编程问答--------------------
引用 87 楼 zanglengyu 的回复:
引用 86 楼 lillian0388 的回复:
引用 85 楼 zanglengyu 的回复:
引用 84 楼 lillian0388 的回复:
楼主,我想请教下怎么移植开源库jrtplib到ios平台上可以使用呢?谢谢啊~

jrtplib库 移植到ios上?   不懂就是把jrtplib开源代码编译为一个.a静态库,可以在xcode上使用哪,我弄了好久没有成功~

是不是需要建……
直接建一个静态库工程,然后把源代码加入进去,直接编译不行的呢,我查了资料说可以用cmake工具来编译,但是我用cmake编译出来的库是x86_64架构的,在xcode上不能用,后来有人和我说有一个ios_cmake工具,专门编译.a静态库文件的,但貌似出错了,所以就不知道咋办了~ --------------------编程问答-------------------- /Volumes/data/android-ndk-r8e/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/objs/game_shared/__/__/Classes/AppDelegate.o: in function AppDelegate::applicationDidFinishLaunching():jni/../../Classes/AppDelegate.cpp:37: error: undefined reference to 'SplashLayer::create()'
collect2: ld returned 1 exit status
make: *** [obj/local/armeabi/libgame.so] Error 1
make: Leaving directory `/Volumes/data/cocos2d-2.1rc0-x-2.1.3/CF/proj.android'
localhost:proj.android user$ 
紧急求助 --------------------编程问答-------------------- 大神,
CCMenuItemImage* backItem = CCMenuItemImage::create("images/btn_back.png", "images/btn_back.png","images/btn_back.png", this, menu_selector(MenuBottomLayer::back));
CCMenuItemImage* continueItem = CCMenuItemImage::create("images/btn_replay.png","images/btn_replay.png", "images/btn_replay.png",this, menu_selector(MenuBottomLayer::ContinuePlay));
CCMenuItemImage* nextItem = CCMenuItemImage::create("images/btn_next.png", "images/btn_next.png", "images/btn_next.png", this, menu_selector(MenuBottomLayer::Next));

我创建了这三个menuitem,然后添加到了ccmenu中,再把ccmenu添加到当前的层中(MenuBottomLayer)当前层也已经创建出来了,屏幕上也能看见这三个ccmenitem,同时这个层中在onenter()中也调用了cclayer::onenter(),这三个按钮还是不会触发函数,求大神指教。 --------------------编程问答--------------------
引用 90 楼 oZeeLove 的回复:
大神,
CCMenuItemImage* backItem = CCMenuItemImage::create("images/btn_back.png", "images/btn_back.png","images/btn_back.png", this, menu_selector(MenuBottomLayer::back));
CCMenuItemImage* continueItem = CCMenuItemImage::create("images/btn_replay.png","images/btn_replay.png", "images/btn_replay.png",this, menu_selector(MenuBottomLayer::ContinuePlay));
CCMenuItemImage* nextItem = CCMenuItemImage::create("images/btn_next.png", "images/btn_next.png", "images/btn_next.png", this, menu_selector(MenuBottomLayer::Next));

我创建了这三个menuitem,然后添加到了ccmenu中,再把ccmenu添加到当前的层中(MenuBottomLayer)当前层也已经创建出来了,屏幕上也能看见这三个ccmenitem,同时这个层中在onenter()中也调用了cclayer::onenter(),这三个按钮还是不会触发函数,求大神指教。


CCMenu *menu = CCMenu::create();
this->addChild(menu,100);
menu->addChild(back);back->setPosition(pos1);
menu->addChild(next);next->setPosition(pos2);
menu->addChild(continue);continue->setPosition(pos3);



--------------------编程问答--------------------
引用 7 楼 zanglengyu 的回复:
[Quote=引用 6 楼 studyveryhard 的回复:]

加上 CCLayer::onEnter(); 搞定!
引用 5 楼 zanglengyu 的回复:
引用 3 楼 studyveryhard 的回复:

那请问你cocos2d-x的一个类触发不了ccTouchBegan的问题。我作了this->setIsTouchedEnable(true);但是程序就是不进ccTouchBegan啊,是为什么呢,我的类继承自CClayer,是不是少了……


头像这么色....小妖吗

我跟他一模一样的问题,可是我加了CCLayer::onEnter()之后程序就直接崩溃了
Assertion failed 
Expression:0
....... --------------------编程问答-------------------- 你好,请问一下cocos2d-x中激光弹怎么实现呀 --------------------编程问答--------------------
引用 93 楼 tuanfeng1 的回复:
你好,请问一下cocos2d-x中激光弹怎么实现呀
激光弹?打出一束激光,被打中的爆炸?,这个可以这样做,激光是个动画,给动画一个moveTo的动作移动至目标,检测和目标的碰撞,碰撞发生,播放死亡动画
补充:移动开发 ,  iPhone
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,