问题标签 [ccsprite]

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.

0 投票
1 回答
2493 浏览

cocos2d-iphone - 带有动画精灵表 plist 的 Box2D 主体

我使用 CCSpriteBatchNode 和 CCSprite 创建了一个动画精灵。我使用 plist 来获取帧。这是我把它放在 init() 中的代码。

一旦精灵准备好并在屏幕上运行,我创建了 b2BodyDef 并分配 b2Body(即 frameBodyDef、frameBody)我的精灵,如下所示。

创建主体后,在构建和运行时,程序在行崩溃

说不好的访问。

请帮我解决这个问题,为什么不能将动画精灵添加到身体中???

谢谢你。

0 投票
2 回答
3894 浏览

objective-c - Cocos2d:CCSprite 子类中的 CCSprite initWithFile 崩溃

我有自定义 CCSprite 子类的 cocos2d 项目:

MyCustomSprite.h:

MyCustomSprite.m:

由于某些奇怪的原因,此代码将因“EXC_BAD_ACCESS”而崩溃。

但尽管如此,如果我像往常一样初始化超级,然后从 CCSprite 的 initWithFile 和 initWithTexture 编写代码,它会正常工作:

第一个示例崩溃的原因是什么,第二个示例没有,它们之间有什么区别?

感谢您的回答!

0 投票
1 回答
122 浏览

cocos2d-iphone - cocos2d 精灵重量有些奇怪

这是我的问题。空 cocos2d 项目的重量为 3.38 MB(标准“Hello world”)。我通过 Profile->Allocate Kit 检查它。现在我有一个大小为 382x512 像素的 .png 图像。它将在 RAM 中扩展到 512x512(2 度)。我将此文件添加到项目中,如下所示:

CCSprite* sprite = [CCSprite spriteWithFile:@"mySprite.png"];

现在是最有趣的。“mySprite.png”具有 8888 像素格式,即它必须占用 512x512 = 0.5*0.5 = 0.25 MB * 4 = 1 MB(像素格式的 4 - 4 个字节)。我对吗?我想是这样,但是当我检查项目的重量时,我发现该项目有 5,54 MB,即“mySprite”在 RAM 中已经 oppupied > 2 MB。

我究竟做错了什么?我该如何解决?:/ 谢谢。

0 投票
3 回答
4339 浏览

cocos2d-iphone - Cocos2d 只显示 CCSprite 的一部分

有没有可能只显示 CCSprite 的一部分?

它接缝,contentSize财产没有一个好的结果。

0 投票
0 回答
1073 浏览

ios4 - 如何将 CCSprite 保存为 PNG

我创建了 CCSprite 并将其添加到主视图中。然后我想看精灵图像,所以我把它保存到 PNG 但是很多都没有正确保存。只显示白色背景。我不知道原因,也通过谷歌找到了一些文章,但它们根本没有帮助我。我该如何解决这个问题?

0 投票
1 回答
451 浏览

cocos2d-iphone - 在 Cocos2d 游戏中加载更多 PNG 时出现问题。“PNG 到 Pvr.ccz”转换所需的建议

在我的游戏中,我加载了大约 13-15 个 Png,其中包括一些 2048x2048 尺寸的精灵表(6-7)和其他 1024x1024 和一些 512x512。

现在我面临着巨大的内存警告。我无法减少游戏中精灵表的数量:(。

因此,我想将所有 2048x2048 精灵表从 png 转换为 pvr.ccz 格式。

这是最佳解决方案还是还有其他东西,我完全错过了?

任何帮助将不胜感激。

0 投票
1 回答
716 浏览

cocos2d-iphone - 我可以在两个 CCTMXLayer 之间分层 CCSprite 吗?

我正在制作一个自上而下的射击游戏,它广泛使用使用“平铺”应用程序创建的 TMX 地图。在我的 TMX 地图中,我有一个带有地砖的“背景”图层,它出现在我的角色下方(CCSprites。)

我在 TMX 文件中有另一层称为“前景”,我希望它出现在我的 CCSprites 的“上方”,给人一种它们在各种物体下方行走的错觉。

我尝试使用 CCNode 类的 vertexZ 属性来执行此操作:

...但事实证明 vertexZ 实际上改变了节点在 openGL 视图中的视觉外观。当 CCNode 具有较高的 vertexZ 值时,它有效地使 CCNode 看起来更大或更靠近用户。我不想要那个——我想要的只是一种不可能的薄蛋糕层的效果,层之间没有任何视觉差异。

所以我想我会尝试改变节点的 zOrder 属性,如下所示:

但是我意识到我在这里所做的事情存在一个根本问题,因为我的 spriteNode 是 CCScene 的直接子节点,但背景和前景节点都是我的 CCTMXTiledMap 的子节点,而 CCTMXTiledMap本身就是 CCScene 的子节点。

所以我基本上是想在地图的两层之间插入一个 CCSprite,从CCScene 的角度来看,这实际上只是同一层的两个部分。

看来我可以创建一个额外的 CCTMXTiledMap 实例来保存前景层,但这似乎也有点矫枉过正。我的另一个想法是创建 CCSprite 来实现相同的目的,但似乎必须有更好的方法。

0 投票
3 回答
803 浏览

performance - 如何在不降低性能的情况下绘制许多 CCSprite?

我正在制作这样的射箭游戏。万事皆安。但我意识到如果我画线跟踪我的箭头,那会很棒。所以我在我的调度程序中的游戏上放了一些代码,应该在箭头所指的地方画圆。但是我要画这么多圈,所以当我射多箭时游戏画面不好。

还有其他更好的方法吗?我已经使用 CCSpriteBatchNode、plist、CCSpriteFrameCache。我做了我能做的一切。我需要帮助 非常感谢

这是我的代码

0 投票
1 回答
102 浏览

cocos2d-iphone - 如何在 cocos2d 中为精灵或菜单做一个功能?

我创建了两个CCLayers,一个是gamelayer,另一个是howlayer。gamelayer.m 的代码是

howlayer 的代码是

我想做这样的功能:

当我点击howlayer上的菜单时,Howlayer会被移除(我已经完成了),然后游戏开始,调用选择器'showthegamecontent',那我该怎么办?

0 投票
1 回答
365 浏览

cocos2d-iphone - 如何为 CCSprite 模拟重力?

目前我在我的应用程序中使用 UIKit,但我决定切换到 Cocos2D,现在我正在尝试实现重力但我在这样做时遇到了麻烦。我已经用谷歌搜索了这个并且没有找到太多关于它的信息。无论如何有没有办法做到这一点?

有人愿意分享他们为让 CCSprite 拥有重力所做的事情吗?我真的不知道我应该从哪里开始如何做到这一点!

谢谢!

Edit1:我现在正在使用此代码:

对于简单的 y 矢量重力。我的问题是,我将如何将此代码应用于我的 CCSprite?