Bonjour,

Pour mon plaisir je cherche a développer un "truc" arborescent comparable a une fractal. J'utilise swift, SpriteKit Xcode pour IOS.

Donc voici la classe :

class Elements : SKSpriteNode{
var fille = Elements()

}


J'ai un problème de Thread quand je le lance.

En gros, je veux que quand Elements dépasse une certaine taille dans sa fonction update il se duplique (une fille)

Avez vous une idée de comment procéder de cette façon ? (j'aimerais bien garder cette méthode pour le faire, je sais que je pourrais le faire avec des listes dynamique... mais ce n'est pas mon objectif (sauf si je n'ai pas le choix))

voici le code complet :

class Elements : SKSpriteNode{
var branchefille1 = Elements()
var branchefille2 = Elements()

var Ly: CGFloat = 0
var etatbranche = 0




func crea( X : CGFloat, Y : CGFloat, Ang : CGFloat){

let radian = -1*Ang*(2*CGFloat.pi)/360
self.name = "bar"
self.anchorPoint = CGPoint(x: 0.5, y: 0)
self.size = CGSize(width: Ly*0.1, height: Ly)
self.color = SKColor.black
self.position = CGPoint(x: X , y: Y)
self.zRotation = radian

}


func update(zANG : CGFloat,pX : CGFloat, pY : CGFloat, sY : CGFloat){
//zANG = angle de la mere
//pX = position de la mere
//pY = position de la mere
//sY = size Y de la mere
/*
print("yy")
print((sY*cos(zANG))+pY)
print("xx")
print((sY*sin(zANG)*(-1))+pX)
*/

self.position = CGPoint(x: (sY*sin(zANG)*(-1))+pX, y: (sY*cos(zANG))+pY )
Ly=Ly+0.1
self.size = CGSize(width: Ly*0.1, height: Ly)

if(self.size.width > 3 && etatbranche == 0){
etatbranche = 1
branchefille1.crea(X : size.width/2, Y : 0, Ang : 45)
branchefille2.crea(X : size.width/2, Y : 0, Ang : -45)
}
if(etatbranche == 1){
branchefille1.update(zANG : self.zRotation ,pX : self.position.x, pY : self.position.y, sY : self.size.height)
branchefille2.update(zANG : self.zRotation ,pX : self.position.x, pY : self.position.y, sY : self.size.height)
}


}

}