问题标签 [cocos2d-x-2.x]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - CCAnimation 崩溃
当我运行下面的动画代码时,它会在模拟器上崩溃。但在设备上工作正常。
代码:-
正是在 ccsequence 上它崩溃了。我用 Exc_Bad_access 得到了这个“引用计数应该大于 0”
android - Cocos2dx C++ 处理许多纹理
我目前使用的是 Cocos2dx C++ 2.0.1 版。我知道这是 cocos2dx 的旧版本,但我最初开始使用它并且已经用它制作了大部分游戏,我真的不想在这个时候切换版本。我目前遇到的问题是我的整个游戏大约有 3 首完整歌曲、6 种音效和大量纹理。我有大约 4 个使用 .plist/.pvr 方法的精灵表,每个精灵表大约有 70 帧。现在我觉得我一定是做错了什么,因为我觉得很多游戏的数据比这个多得多,而且它们可以正常加载。我尝试了很多方法来有效地完成这项工作。我将描述每种方法以及我遇到的问题。
我在应用程序启动时制作了一个加载屏幕,但我发现似乎无法异步加载 .plist/.pvr 所以我别无选择,只能一张一张地加载每个 .PNG 图像,不再使用 sprite床单。我觉得这是一种荒谬的方式,但我没有找到另一种解决方案。因此,通过使用这种方法,游戏确实会加载(这需要一些时间,但它确实有效),并且由于所有图像都是预加载的,因此游戏运行顺畅。这里的问题是,当我点击主页按钮并点击我的游戏图标以恢复时,重新加载所有纹理需要很长时间,并且在应用程序恢复之前我要等待很长时间。为了解决这个问题,我尝试了以下方法:我了解了 setPreserveEGLContextOnPause() 以及如何在按下主页按钮时使纹理不丢失。所以我终于想出了如何设置它,它实际上解决了问题,但我只使用了大约四分之一的精灵来测试它,只是为了看看它使用了多少内存,我看到它已经使用了 345MB 的 RAM!这意味着我的完整游戏可能会使手机内存不足。
在第一种方法的所有不幸之后,我真的确信我做的事情非常错误,因为我还没有看到一个 Android 游戏在点击主页按钮后无法返回。我知道我正在使用许多精灵,但我只能将它们降低很多。我很想重新使用 .plist/.pvr 方法,但我似乎找不到在显示加载屏幕时加载这些文件类型的方法。
我也尝试过简单地按场景初始化方法加载每个东西。这也会导致切换场景之间的相同时间延迟。
总的来说,我真的被困住了。我觉得我一定做错了什么,因为我的游戏是一个非常简单的益智游戏,无论如何都不大。我还想找到一种适用于 iphone 和 android 手机的解决方案。任何帮助将不胜感激。谢谢。
ios - cocos2d-x中不定时更新方法
我想在游戏开始 5 分钟后取消计划更新方法。
我在我的类的构造函数中安排了我的更新方法。
我正在尝试通过调用停止更新方法来取消安排我的选择器。但这不是计划外的。
c++ - cocos2d-x 2.2中如何检测三个精灵的碰撞?
我是 cocos2d-x 的新手,我正在实现自己的飞扬小鸟。
现在我正在处理碰撞检测,但我被卡住了。
我将 down_pipe sprite 和 up_pipe sprite 添加到父 sprite 管道,并将父 shift 从右移到左。
但是当我检查碰撞时
它不起作用。
我尝试这种方式:
它仍然不起作用。
我该如何解决这个问题?有什么建议吗?
ios - 如何在没有box2d的情况下在滑动时抛出对象
我正在开发基于在滑动时投掷物体的项目,我有石头精灵,用户将使用石头打破随机出现在屏幕上的玻璃瓶。
例如。我在 ccp(512,225) 有一个石头精灵,这是固定的。现在,当用户触摸对象时,我得到起点,而在 touchend 上,我得到终点。然后我也计算距离。现在我必须根据滑动方向和滑动速度扔石头。我怎么能做到这一点。
我想在没有任何物理引擎的情况下做到这一点
cocos2d-x-2.x - Cocos2d-x中多场景如何使用通用背景节点
我有一个非常简单的问题,但似乎找不到明确的答案。我正在制作一个在每个场景中都使用相同静态背景的游戏。目前我只是在所有地方都添加了背景,但它看起来有点不自然,让我想要制作的一些场景过渡非常痛苦,最终我想制作一个不会随着每个场景变化而重新加载的动画背景。
除了创建一个我需要在每次转换期间添加/删除的单例之外,有没有办法将相同的节点添加为所有节点的背景?换句话说,场景可以有透明的背景,所以我可以把它们推到背景场景上吗?
我知道CCScene
没有setOpacity
并且已经看到有些人建议使用CCLayer
场景,但随后CCDirector::pushScene
接受CCScene
作为论点。
编辑。好的,现在我看到我可能误解了CCLayer
解决方案..这是否意味着这样做的唯一方法是将场景更改为图层,然后从主场景中添加/删除它们?
eclipse - 从文件(image\splash.png)获取数据失败
我一直在通过开发一只飞扬的鸟来学习 cocos2d-x。版本是 2.2.3。
我的程序可以在 VS 上运行。但是当我在eclipse中构建它并将apk安装到android设备时,应用程序闪回并且logcat说:从文件(image\splash.png)获取数据失败。
我在cpp文件中找到了代码:
所有的图像和声音都在 assets 文件夹中。
任何人都可以告诉我如何解决这个问题?
谢谢。
c++ - 在 cocos2dx 中为障碍物分配随机坐标
我正在尝试创建一组随机放置的障碍。为此,我需要绘制一个随机 x 变量和一个随机 y 变量的实例,然后将其位置设置为那个 x 和那个 y 变量。要选择变量,我使用以下代码:
乍一看,它可能看起来很时髦,但它将 x 创建为我想要的四个数字之一,并将 y 创建为我想要的三个数字之一。我已经运行了这段代码,当我在 Xcode 中调试它时,它告诉我 x 等于 NaN,y 也等于 NaN。我知道这意味着 Not-A-Number,但我不确定为什么会发生这种情况,因为我在命令行工具应用程序中对其进行了测试,如下所示:
这正是我所期望的,一组随机坐标:
为什么是这样?我在命令行工具中使用此代码对其进行了测试,发现它可以工作,然后尝试将其用于游戏的上下文中,调试器返回 NaN。我在命令行中的游戏中缺少什么?
ios - ios中cocos2d-x c++游戏进入后台时如何让计时器继续运行
我在我的 cocos2d-x 游戏 (c++) ios 中使用了一个计时器。我使用的是 cocos2d-x 2.2 版本。我的时间函数在我的初始化中如下
我已将功能定义如下。
一切工作正常。但是即使游戏进入后台状态,我也有这个计时器继续运行。我曾尝试在 appdelegate 中评论 didEnter Background 的主体,但没有成功。任何帮助将不胜感激谢谢
c++ - 如何刷新精灵(删除并重新创建它)
我正在尝试在我的游戏中创建一个昼夜背景模式,我想在一个选项对话框中创建一个控制按钮,当我点击它时,所有背景都会更改而不退出对话框。我刚刚通过重新打开场景使其运行正常,但它也退出了选项对话框。
我有这样的initBackground()
方法
而且我不知道如何刷新这些 Sprite(删除然后再次调用它们)。对不起,我的英语不好。任何帮助,将不胜感激。