У меня есть треугольник вокруг круга, и я создал его. Если мой персонаж сталкивается с кирпичом, то треугольники на круге заменяют другое место на круге.Как правильно поворачивать треугольник вокруг круга?
, но у меня есть проблема, треугольники, вращающиеся, когда это происходит.
Это происходит, когда я нажимаю на экран (и это прекрасно), но его вращение.
это необходимо выглядит следующим образом:
, но его внешний вид так:
AddTriangleToCircle FUNC:
func AddTriangleToCircle(Circle: SKShapeNode, Location: CGFloat, Inside: Bool) {
Triangle = SKSpriteNode(imageNamed: "Triangle.png")
Triangle.size = CGSize(width: 30, height: 30)
Triangle.anchorPoint.y = 0
let path = CGPathCreateMutable()
CGPathMoveToPoint(path, nil,298,2)
CGPathAddLineToPoint(path, nil,149,298)
CGPathAddLineToPoint(path, nil,0,0)
CGPathAddLineToPoint(path, nil,298,2)
CGPathCloseSubpath(path)
Triangle.physicsBody = SKPhysicsBody(polygonFromPath: path)
if Inside == true {
// Inside Triangle
Triangle.zRotation = CGFloat(M_PI_2)
} else {
// Outside Triangle
Triangle.zRotation = CGFloat(-M_PI_2)
}
Triangle.position = CGPoint(x:0.5, y:circleRadius)
let rotationSpeed1 = rotationSpeed + Location;
var angleRelatedToCircle1 = angleRelatedToCircle;
angleRelatedToCircle1 -= rotationSpeed1
Triangle.zRotation -= rotationSpeed1
Triangle.position.x = circleRadius * cos(angleRelatedToCircle1)
Triangle.position.y = circleRadius * sin(angleRelatedToCircle1)
//Triangle.physicsBody = SKPhysicsBody(texture:TriangelSKT, size: CGSize(width: 30, height:30))
let centerPoint = CGPointMake(Triangle.size.width/2 - (Triangle.size.width * Triangle.anchorPoint.x), Triangle.size.height/2 - (Triangle.size.height * Triangle.anchorPoint.y))
Triangle.physicsBody = SKPhysicsBody(rectangleOfSize: Triangle.size , center: centerPoint)
Triangle.physicsBody?.categoryBitMask = triangleCategory
Triangle.physicsBody?.contactTestBitMask = heroCategory
Triangle.physicsBody?.collisionBitMask = heroCategory
Triangle.physicsBody?.allowsRotation = false
// Set Dynamic to false
Triangle.physicsBody?.dynamic = false
Circle.addChild(Triangle);
}
AddCircle FUNC:
func AddCircle() {
Circle = SKShapeNode(circleOfRadius: circleRadius)
Circle.position = CGPoint(x: self.size.width/2, y: self.size.height/2)
Circle.strokeColor = UIColor.whiteColor()
Circle.lineWidth = 9.5
Circle.fillColor = UIColor(red:0.98, green:0.82, blue:0.32, alpha:1.0)
self.addChild(Circle)
Circle.addChild(BooCharacter)
self.AddTriangleToCircle(Circle, Location: CGFloat(random(1...100)), Inside: false)
self.AddBrickToCircle(Circle, Location: CGFloat(random(1...200)), inside: true)
self.AddTriangleToCircle(Circle, Location: CGFloat(random(1...400)), Inside: false)
}
touchsbegan FUNC:
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
BooCharacter.zRotation += CGFloat(M_PI)
TapToStart.removeFromParent()
for touch in touches {
let location = touch.locationInNode(self)
}
initializeValues()
}
initializeValues FUNC:
func initializeValues() {
self.removeAllChildren()
AddCircle()
}
ваш " что я хочу »и« то, что у меня есть », идентичны. –
благодарит вас. Я исправляю это сейчас! –