Cocos2d-x项目总结中的一些遇到的问题

2022-07-05 19:31:19 浏览数 (1)

大家好,又见面了,我是全栈君

这几天在用Cocos2D-X尝试着做一个小游戏,当然不是创新,仅仅是单纯的模仿,就是为了将自己这段时间学到的技术应用于实践中。

在这个过程中。遇到了一些问题,在此特做一些总结,以免以后遇到类似的问题。

与诸君共享,希望可以在诸君以后的开发中起到一点帮助,哪怕仅仅是一点点,也就不负初衷了。

1.进入场景后没有出现预期控件移动的效果

错误原因:没有调用父类的onEnter()方法

2.SimpleAudioEngine找不到

错误原因:没有导入#include “SimpleAudioEngine.h”头文件

没有引用using namespace CocosDenshion;命名空间

3.调用

CCDirector::sharedDirector()->replaceScene(GameAbout::scene());

切换场景后,新场景显式黑屏

错误原因:没使用CREATE_FUNC(GameAbout);宏创建新的场景

4.用VS2012编译后的project。再用VS2010执行时报出例如以下错误:

fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

解决方法例如以下:

项目属性配置属性清单工具输入和输出嵌入清单:原来是“是”,改成“否”。

5.CCSpriteBatchNode only support CCSprite

错误原因:将非CCSprite对象加入到了CCSpriteBatchNode对象上

6.预期出现标题移动的效果。实际出现背景移动的效果

错误原因:标题和背景的tag反复

7.精灵不能响应触摸事件

错误原因:未注冊触摸事件代理

CCDirector->sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 0, true);

8.注冊触摸事件后不能正确推断触摸点的位置

错误原因:未将触摸点坐标转化为CCNode的相对坐标

convertTouchToNodeSpaceAR(touch)

9.触摸移动时,未调用ccTouchMoved方法

错误原因:ccTouchBegan方法返回值为false

10.创建动画后无动画效果

错误原因:未调用下面方法

animation->setDelayPerUnit(0.2f); // 设置两帧间的时间间隔

animation->setRestoreOriginalFrame(true); // 是否从原始帧開始播放

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117730.html原文链接:https://javaforall.cn

0 人点赞