2015-05-11 8 views
5

İki fizik birimi arasında bazı çarpışma tespitini içeren bir iOS uygulaması yapmaya çalışıyorum. Fiziksel bedenlerden birinin, kullandığım bir resmin şekli olmasını istiyorum, ancak bunu bir doku kullanarak yapmaya çalıştığımda, uygulamanızı muazzam bir şekilde yavaşlatıyor ve sonunda tamamen donmasına neden oluyor. BenSwift SpriteKit bir resmin dokusundan fizik yapısını yapmakta olduğum uygulamayı çok yavaşlatıyor

physicsBody = SKPhysicsBody(rectangleOfSize: size) 

gibi bir şey Bu iki satırı değiştirirseniz o zaman her şey mükemmel iyi çalışır, ancak

let texture = SKTexture(imageNamed: "image.png") 
physicsBody = SKPhysicsBody(texture: texture, size: size) 

: Bu neyin sebep iki kod çizgilerdir. Başka birinin bu sorunu vardı ve/veya bir çözüm buldu mu?

+0

Bu, bedenler taşınırken veya çarpışırken olur mu, yoksa ...? Bunu yeni test ettim ve söylediklerinizi üretemiyorum. Dokudan fizik gövdesi oluşturmak pahalıdır, ancak sadece bir fizik bedeni yüzünden uygulamanızı yavaşlatmak çok fazla olmamalıdır. ? Boş proje kullanmayı deneyin ve adım adım ilerleyin. Önce dokudan bir fizik gövdesi yapın ve bir uygulamayı yavaşlatır. Aksi takdirde daha ileri gidin ve vücuda bir dürtü uygulayarak hareket edin. Her şey çalışırsa, bir çarpışma yapmaya çalışın. Bu şekilde bir problem yarattığınızdan emin olursunuz, çünkü yaptığınız şey çalışmalıdır. İyi şanslar! – Whirlwind

+0

Aynı zamanda, benim problemime üçgen şekli olan yaklaşık 10 sivri eklediğimde de aynı problemle karşılaştım. –

cevap

5

Bu, dokumanızın karmaşık yapısı nedeniyle olabilir, ancak görmeden söylemek zor. Whirlwind'in dediği gibi, muhtemelen bu kadar önemli bir yavaşlamaya neden olmamalı, ancak daha fazla bilgi olmadan zor bir çözüm.

SKPhysicsBody'yi dokudan oluşturmanın bir yolu, gövdeyi bir yoldan oluşturmak için çevrimiçi bir araç kullanmak olabilir. Kişisel olarak this tool kullanıyorum. Etrafında iyi bir iş olabilir.

İlgili konular