diff --git a/DouShouQi_App/DouShouQi_App/Components/Scene/SpriteMeeple.swift b/DouShouQi_App/DouShouQi_App/Components/Scene/SpriteMeeple.swift index 958c85d..f9e74c4 100644 --- a/DouShouQi_App/DouShouQi_App/Components/Scene/SpriteMeeple.swift +++ b/DouShouQi_App/DouShouQi_App/Components/Scene/SpriteMeeple.swift @@ -16,6 +16,9 @@ class SpriteMeeple : SKNode { let imageNode : SKSpriteNode var ellipseNode : SKShapeNode + var originalSize: CGSize + var originalEllipseSize: CGSize + var cellPosition: CGPoint{ didSet(cellPosition){ self.position.x = SpriteMeeple.offset.x + SpriteMeeple.direction.dx*cellPosition.x @@ -25,9 +28,12 @@ class SpriteMeeple : SKNode { init(imageNamed imageName: String, size: CGSize, backgroundColor: UIColor, imageRotation : Double = 0){ imageNode = SKSpriteNode(imageNamed: imageName) - imageNode.size = CGSize(width: 80, height: 65) + originalSize = CGSize(width: 80, height: 65) + imageNode.size = originalSize + - ellipseNode = SKShapeNode(ellipseOf: CGSize(width: 90, height: 90)) + originalEllipseSize = CGSize(width: 90, height: 90) + ellipseNode = SKShapeNode(ellipseOf: originalEllipseSize) ellipseNode.fillColor = backgroundColor cellPosition = CGPoint(x: 0, y: 0) @@ -44,8 +50,10 @@ class SpriteMeeple : SKNode { required init?(coder aDecoder:NSCoder){ imageNode = SKSpriteNode(imageNamed: "rat") - ellipseNode = SKShapeNode(ellipseOf: CGSize(width: 100, height: 100)) + ellipseNode = SKShapeNode(ellipseOf: CGSize(width: 0, height: 0)) cellPosition = CGPoint(x: 0, y: 0) + originalSize = CGSize(width: 0, height: 0) + originalEllipseSize = CGSize(width: 0, height: 0) super.init(coder: aDecoder) } @@ -53,10 +61,13 @@ class SpriteMeeple : SKNode { set { } get { true } } - - override func touchesBegan(_ touches: Set, with event: UIEvent?){ + + override func touchesBegan(_ touches: Set, with event: UIEvent?){ + imageNode.size = CGSize(width: imageNode.size.width * 1.1, height: imageNode.size.height * 1.1) + ellipseNode.path = SKShapeNode(ellipseOf: CGSize(width: originalEllipseSize.width*1.1, height: originalEllipseSize.height*1.1)).path + self.zPosition = 1 } - + override func touchesEnded(_ touches: Set, with event: UIEvent?) { if let parent = parent, let position = touches.first?.location(in: parent) { // Arrondir à la case la plus proche pour x et y @@ -69,6 +80,11 @@ class SpriteMeeple : SKNode { self.position = CGPoint(x: clampedX, y: clampedY) } + + imageNode.size = originalSize + ellipseNode.path = SKShapeNode(ellipseOf: originalEllipseSize).path + + self.zPosition = 0 }