В Swift 4.2 - Как мне сохранить размер спрайта после перемещения (toParent: newParent) - PullRequest
0 голосов
/ 06 октября 2018

Когда я перемещаю спрайт (в данном случае стрелку) от одного родителя (сцены) к другому родителю (цели, которая является спрайтом в сцене), стрелка масштабируется и меняет свой размер.Как я могу избежать этого?Я хочу, чтобы стрелка сохраняла свой размер.

Этот код я использую при добавлении новой стрелки на сцену:

func newArrow() {
    let arrow = SKSpriteNode(imageNamed: "arrow1")
    let arrowTexture = SKTexture(imageNamed: "arrow1")
    arrow.position = CGPoint.zero
    arrow.physicsBody = SKPhysicsBody(texture: arrowTexture, size: arrowTexture.size())
    arrow.physicsBody?.isDynamic = true
    arrow.physicsBody?.allowsRotation = true
    arrow.physicsBody?.affectedByGravity = false
    arrow.physicsBody?.friction = 0.2
    arrow.physicsBody?.restitution = 0.2
    arrow.physicsBody?.linearDamping = 0.1
    arrow.physicsBody?.velocity = CGVector(dx: 0, dy: 0)
    self.addChild(arrow)
}

И этот код я использую при перемещениистрелка к другому родителю:

func arrowCollideWithTarget() {
    arrow.move(toParent:target!)
}

1 Ответ

0 голосов
/ 23 октября 2018

Благодаря @ E.Huckabee я смог решить проблему.Все, что я сделал, это установил масштаб цели. Это можно сделать двумя способами: 1. Изменить масштаб спрайта в «Инспекторе атрибутов». 2. Из кода - sprite.xScale = 1.0 sprite.yScale = 1.0 * 1001.*

...