Je fais l'application iOS en swift. Je veux montrer la disposition comme des bulles de musique d'Apple. Et le code ci-dessous fonctionne très bien pour montrer cette disposition, mais, je veux montrer la mise en page Hexagon au lieu de la bulle de cercle. Est-ce que quelqu'un peut suggérer/guider moi, comment montrer cette mise en page hexagonale au lieu de la mise en page de cercle.Comment obtenir la forme Hexagon de SKPhysicsBody de l'infrastructure SpriteKit
En classe magnétique:
func configure() {
physicsWorld.gravity = CGVector(dx: 0, dy: 0)
physicsBody = SKPhysicsBody(edgeLoopFrom: {() -> CGRect in
var frame = self.frame
frame.size.width = CGFloat(magneticField.minimumRadius)
frame.origin.x -= frame.size.width/2
return frame
}())
let strength = Float(max(size.width, size.height))
let radius = strength.squareRoot() * 100
magneticField.region = SKRegion(radius: radius)
magneticField.minimumRadius = radius
magneticField.strength = strength
magneticField.position = CGPoint(x: size.width/2, y: size.height/2)
}
En classe Noeud:
public init(text: String?, image: UIImage?, color: UIColor, radius: CGFloat) {
super.init(circleOfRadius: radius)
self.physicsBody = {
let body = SKPhysicsBody(circleOfRadius: radius + 2)
body.allowsRotation = false
body.friction = 0
body.linearDamping = 3
return body
}()
self.fillColor = .white
self.strokeColor = .white
_ = self.sprite
_ = self.text
configure(text: text, image: image, color: color)
}
votre code ne fait rien pour nous aider, vous montrez seulement un corps physique et un champ magnétique – Knight0fDragon
@ Knight0fDragon J'ai ajouté le code de classe de noeud aussi, pouvez-vous vérifier, et fournir des suggestions pour obtenir la forme hexagonale? Merci –