NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Phyber
Člen
Avatar
Phyber:29.8.2015 10:50

Ahoj,
Mám problém s porovnáváním dvou textur (viz. kod)
Podmínka se nerovná, přestože textura je stejná jak u SKTexture tak u SKSpriteNode.
Potřeboval bych poradit, jak tento problém vyřešit. Předem dík :)

let sprite = SKSpriteNode(imageNamed: "dot")
let texture = SKTexture(imageNamed: "dot")
if sprite.texture == texture{
    println("textura je stejná")
}
 
Odpovědět
29.8.2015 10:50
Avatar
coells
Tvůrce
Avatar
coells:29.8.2015 19:35

Tahle otázka má dva aspekty.

První je, že SKTexture(ima­geNamed) vytvoří nový objekt třídy SKTexture, takže porovnáváš dvě různé instance. První instance pochází ze spritu, který interně vytvoří vlastní texturu. Dvě instance, dvě různé hodnoty.

Druhým aspektem je, že bys textury takhle porovnávat neměl. Netuším, proč se o to pokoušíš, ale obvykle se to dělá jenom v případě, že se staráš o cachování textur, abys šetřil systémové zdroje. Určitě si pročti vývojářskou dokumentaci ke Sprite Kitu, abys věděl, jak s texturami korektně zacházet.

 
Nahoru Odpovědět
29.8.2015 19:35
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.