问题标签 [cctexturecache]

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 回答
205 浏览

cocos2d-iphone - 使用 spritesheet 动画 CCTexture2D

我在 Zwoptex 制作了 spritesheet,我知道 TexturePacker 比这更好,但我刚开始使用 cocos2d iphone,所以还没有购买。

我使用以下代码制作了 CCTexture2D。

我使用这个 CCtexture2D 对象在软体周围绘制纹理。使用以下代码。

现在我想动画软体的纹理。我知道如何使用 spritesheet 为精灵设置动画。但是现在我很困惑如何使用 spritesheet 制作 CCTexture2D 以及如何使用不同的图像制作纹理动画,就像我们在 sprite 动画中所做的那样?

谁能给我解决这个问题的任何方向?

0 投票
1 回答
516 浏览

c++ - Cocos2d-x TMX 地图与游戏精灵共享纹理图像文件?

我正在使用 cocos2d-x 2.1.4 并想使用相同的图像文件,例如 spritesheet.png

  1. 使用 Tiled Map Editor 构建的 tmx 地图上的图块;
  2. 游戏内精灵,我通常使用 TexturePacker 制作精灵表。

合并的原因是为了减少绘制调用的数量,因为有足够的纹理空间供精灵和图块在一张图像上共享。如果我将 TexturePacker 与 Tiled 一起使用,我认为每次 TexturePacker 重新排列平铺图像时都必须重新分配平铺位置,因此这不是一个好方法。

我知道我可以从 CCSpriteframe 中获取 CCTexture2D*,我想尝试将其插入 CCTextureCache,以便 CCTMXLayer 可以拾取纹理(实际上来自 spritesheet)。但是,没有办法这样做。

在 cocos2d-x 中处理瓦片和精灵的组合精灵表的常用技术是什么?

0 投票
0 回答
371 浏览

ios - 'NSInternalInconsistencyException: 不要在 Director 之前初始化 TextureCache'

0 投票
1 回答
332 浏览

ios - Cocos2d。为什么异步加载纹理会保留它?

我发现了一件奇怪的事情——CCTexture2D对象在异步加载时被保留,无论是使用addImageAsync:(NSString*)path withBlock:(void(^)(CCTexture2D *tex))block还是-(void) addImageAsync: (NSString*)path target:(id)target selector:(SEL)selector

为了验证这一点,我创建了一个非常简单的项目。其实这是cocos2d模板。我有两个按钮,一个 png 文件mytexture.png和一个以兆字节为单位打印内存消耗的函数。这是功能:

虽然什么也没发生,只cocos2d显示图层,但内存大约为 8 mb(在 iPad 上)。让我们点击第一个按钮:

现在内存大约是 24 MB。好的。让我们点击第二个:

并且内存仍然是 24 mb!!!为什么???唯一引用纹理的对象是缓存,但它已将其删除。为什么还在记忆中?引用什么?如果我使用addImage:方法添加纹理,它会像我期望的那样被删除。那么如何解决呢?如何从内存中卸载它?

如果您认为内存检查功能可以提供虚假数据,那么我想说我已经使用 Instruments 分析了该应用程序并且它显示了相同的结果。

0 投票
0 回答
119 浏览

memory - Cocos2D CCTextureCache 留在内存中

对于滚动条,我使用 addImageAsync 以异步方式加载图像。

我开始分析,发现一些内存问题,图像留在内存中。

然后我决定比较 addImageAsync 与 spriteWithFile,加载和直接卸载图像。完成所有加载后, addImageAsync 将使用更多内存。

在加载许多图像的循环中,如果我使用

我最终得到 72.4MB

如果我使用:

我最终得到 108.7MB

这里有问题,还是我做错了什么?

(使用 Cocos2d V2)

0 投票
1 回答
75 浏览

cocos2d-iphone - 从 BatchNode 更新 CCTexture2D