0
什麼是最好的方式有一個SKSpriteNode
組成的多個圖像?SKSpriteNode多紋理
我發現[SKTexture textureWithImage:image];
不使用scale屬性(當我使用它與一個自定義位圖組裝圖像我有一個小SKSpriteNode
)。
也許我可以創建多個之間的鏈接SKSpriteNode
但我不確定這是碰撞檢測的好主意。
編輯:
解決方案,爲我的作品。
此代碼需要3個紋理,在GraphicsContext
中繪製它們,創建一個UIImage
。
然後我將這個UIImage
添加到我的SKNode
,現在它有多個紋理。然而,它是非常重要指定SKNode
大小屬性[self setSize:CGSizeMake(WIDTH_HERO, HEIGHT_HERO)];
在我的情況。如果你不這樣做,節點將使用不好的比例因子,並且你會有小紋理(非視網膜)。
CGSize mergedSize = CGSizeMake(WIDTH_HERO, HEIGHT_HERO);
UIGraphicsBeginImageContextWithOptions(mergedSize, NO, 0.0f);
[textureImage1 drawInRect:CGRectMake(0, 0, WIDTH_HERO, textureImage1.size.height)];
[textureImage2 drawInRect:CGRectMake(0, 40, WIDTH_HERO, textureImage2.size.height)];
[textureImage3 drawInRect:CGRectMake(0, 0, WIDTH_HERO, textureImage3.size.height)];
UIImage *mergedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[self setTexture:[SKTexture textureWithImage:mergedImage]];
你需要多個精靈,把它們放在同一sknode和使用accumulatedFrame的碰撞 – LearnCocos2D
你真的必須使用SKTexture創建一個精靈節點? –
我想是的。即使你可以創建一個SKSpriteNode而不明確指定紋理,它背後也有一個。 –