2016-04-11 24 views
0

Birbiriyle çakışan görüntülerin yer aldığı bir uygulama üzerinde çalışıyorum. Bazı kod çalıştırmalarına rastladıkları zaman, ancak problem, kare arkaplanında görünseler bile görüntü arkalarının çarpışmasıdır. Bu görünmez arka zeminden veya çerçeveden nasıl kurtulurum ki, çarpışan tek şey görüntüdür. Lütfen bana bir cevap verebilir misiniz? Bu bana cevabı olan bir yere başvurmaktır.Resim çerçevelerini hızlı/hızlı bir şekilde silme

+0

gerçekten takip etmiyor – hamobi

cevap

2

Çarpışan resimlerinizin, resimlerinizin boyutuna göre dikdörtgen şekilli SKPhysicsBrandları olduğunu tahmin ediyorum? o görüntünün sadece şeffaf olmayan kısmı colission neden olabilir esastır varsa, (, görüntüler dokusunu kullanarak SKPhysicsBody oluşturarak bu daha pahalı olduğunu akılda ya SKPhysicsBody(texture:size:) veya SKPhysicsBody(texture:alphaThreshold:size:)

Ayı kullanarak araştırmak isteyebilirsiniz Gerekli olan işlem gücü açısından) basit dikdörtgenlerden daha. Gerçek bir örnek

Yani:

let mySpriteTexture = SKTexture(imageNamed: "mySprite") 
let mySprite = SKSpriteNode(texture: mySpriteTexture) 
let myPhysicsBody = SKPhysicsBody(texture: mySpriteTexture, size: mySprite.size) 

mySprite.physicsBody = myPhysicsBody 

Ama bu görüntü dosyası mySprite.png içine biraz şeffaflık ile oluşturulmuş gerektirecektir.

+0

Bu yalnızca görüntü arka planınız gerçekten saydamsa çalışır, yani alfa - ekranla aynı renkse (ör. Siyah arka plan üzerinde siyah), o zaman resmin bir parçası olarak kabul edilir. –

+0

Yanıt için teşekkürler ama doku veya boyut için ne koymam gerektiğinden ve bu değerleri nasıl bulacağından emin değilim. – Jaa3

+0

Kullandığınız resimler - bunlar varsaydığım SKSpriteNodes'tır? .png dosyalarından veya benzerlerinden oluşturuyor musunuz? –

İlgili konular