[[CCTextureCache sharedTextureCache] addImage: @"still.png"];
但我總是出於某種原因失真圖像結束。這很可能是因爲我的圖像分辨率不同,但對於此應用程序,它們不能具有相同的分辨率。如何更改精靈的圖像,而無需經過複雜的製作精靈畫面或動畫或其他任何過程。
[[CCTextureCache sharedTextureCache] addImage: @"still.png"];
但我總是出於某種原因失真圖像結束。這很可能是因爲我的圖像分辨率不同,但對於此應用程序,它們不能具有相同的分辨率。如何更改精靈的圖像,而無需經過複雜的製作精靈畫面或動畫或其他任何過程。
這是改變精靈的形象(如果你有的話加載海槽spritesheet)這肯定工程(我用它在我的遊戲所有的時間)的最直接的方式。 mySprite上是子畫面實例的名稱:
[mySprite上setDisplayFrame:
[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@ 「sprite1.png」] ];
您只需撥打sprite.texture函數。
例
在你的初始化方法:
CCTexture2D *tex1 = [[CCTextureCache sharedTextureCache] addImage:@"still.png"];
CCTexture2D *tex2 = [[CCTextureCache sharedTextureCache] addImage:@"anotherImage.png"];
CCSprite *sprite = [CCSprite spriteWithTexture:tex1];
//position the sprite
[self addChild:sprite];
然後到子畫面的圖像改變爲TEX2:
sprite.texture = tex2;
很簡單!
希望這有助於!
urSprite = [CCSprite spriteWithFile:@"one.png"]; urSprite.position = ccp(240,160); [self urSprite z:5 tag:1]; // Changing the image of the same sprite [urSprite setTexture:[[CCTextureCache sharedTextureCache] addImage:@"two.png"]];
它工作正常...... – 2013-03-14 08:45:28
這個例子仍然在cocos2d v3.0中工作嗎? xcode說:「undeclares標識符'CCTextureCache'」。 – 2014-03-01 16:54:45
這個簡單的一行可以完成您的任務。
[sprite setTexture:[[CCTextureCache sharedTextureCache] addImage:@"slot.png"]];
原始帖子有什麼問題?你在這做了哪些改變?@Ankur – 2013-07-18 07:29:24
突出顯示了編碼部分..查看更改請參見[此鏈接](http://stackoverflow.com/posts/17715260/revisions)。 – Ankur 2013-07-18 07:37:19
我使用cocos2d的3.0和此代碼的工作對我來說:
[_mySprite setTexture:[CCTexture textureWithFile:@"myFile.png"]];
在cocos2d V3,我能夠用做到這一點...
[mySprite setSpriteFrame:[CCSpriteFrame frameWithImageNamed:@"two.png"]]
...但我不知道這是否有副作用,從長遠來看會傷害到我。 :)
在cocos2d-x V3,你可以使用my_sprite->setTexture(sprite_path);
工作機智的動畫時,這是更好的解決方案。如果動畫正在運行並且您想要停止它,請使用它,只是不要忘記停止動畫操作。 – 2013-01-19 06:38:45