Iphone 使用CCTextureCache设置粒子的纹理
我将用Iphone 使用CCTextureCache设置粒子的纹理,iphone,cocos2d-iphone,particle-system,zwoptex,Iphone,Cocos2d Iphone,Particle System,Zwoptex,我将用cocos2diphone开始我的第一步 我正在使用: CCSpriteFrameCache *frameCache = [CCSpriteFrameCache sharedSpriteFrameCache]; [frameCache addSpriteFramesWithFile:@"textures.plist"]; 使用我的zwoptex文件。使用该设置,我将使用frameCache创建我的ccsprite,如下所示: [CCSprite spriteWithSpriteFrame
cocos2diphone
开始我的第一步
我正在使用:
CCSpriteFrameCache *frameCache = [CCSpriteFrameCache sharedSpriteFrameCache];
[frameCache addSpriteFramesWithFile:@"textures.plist"];
使用我的zwoptex文件。使用该设置,我将使用frameCache
创建我的ccsprite
,如下所示:
[CCSprite spriteWithSpriteFrameName:@"filename.png"];
到目前为止,一切顺利。现在我正在创建自己的粒子系统,我需要设置纹理。我猜读zwoptex是有意义的,但我找不到办法。
我还检查了这些示例,它们做了如下操作:
emitter.texture = [[CCTextureCache sharedTextureCache] addImage: @"fire.pvr"];
因此,我的问题是:
- 如果我将拥有不止一个具有不同纹理的粒子系统。我应该用它们创建zwoptext吗?如果是,怎么做
- 为什么示例会执行
[[CCTextureCache sharedTextureCache]addImage:@“file”]代码>?是因为没有加两次
CCSpriteFrameCache *frameCache = [CCSpriteFrameCache sharedSpriteFrameCache];
[frameCache addSpriteFramesWithFile:@"textures.plist"];
CCSpriteFrame *frameFire = [frameCache spriteFrameByName:@"particle_fire"];
CCTexture2D *texFire = frameFire.texture;
...
glBindTexture(GL_TEXTURE_2D, texFire.name);
/* You may need to use frameFire.rectInPixels and frameFire.rotated for the texture coordinates. */
...
CCSpriteFrame *frameWater = [frameCache spriteFrameByName:@"particle_water"];
CCTexture2D *texWater = frameWater.texture;
...
glBindTexture(GL_TEXTURE_2D, texWater.name);
...
根据我的理解,pvr纹理并不是2D场景的最佳选择,你应该重新考虑一下代码感谢你指出TexturePacker,但我使用的是zwoptex。教程的链接没有提到如何从纹理表中获取纹理。很酷,谢谢。差不多了,但是
frameFire.texture
指的是大纹理,而不是“裁剪”的纹理。是的,因此速度很快。对纹理坐标使用火焰框属性,例如rectInpixels。更改纹理绑定的成本很高。