Передача переменных между двумя функциями - PullRequest
0 голосов
/ 20 апреля 2020

Вот соответствующий код:

func touchLocationAngle() {
        func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
            for touch in touches{
                var touchLocation = touch.location(in: self)
                var angle1 = atan2(1SpriteNode.position.y - touchLocation.y , 1SpriteNode.position.x - touchLocation.x)
                var angle = angle1 - CGFloat(Double.pi / 1)
            }
        }
    }

    func moveToTouchLocation() {

    }

Я хочу взять переменную угла из первой функции и использовать во второй. Я не хочу делать переменную глобальной. Я посмотрел на Google и YouTube, но всякий раз, когда я использую их код, он показывает ошибки.

1 Ответ

0 голосов
/ 20 апреля 2020

пару вещей, я могу отредактировать свой ответ по мере необходимости, но какова цель первой функции? Из того, что я могу сказать, это функция, которая включает в себя другую функцию, которая проходит через прикосновения. Но я также заметил, что angle также перезаписывается при каждом цикле l oop, оставляя вам угол только последнего касания. Мой ответ - удар в том, что я думаю, что вы хотите, но, пожалуйста, уточните, если это не так.

Вы захотите вернуть угол в первой функции, в настоящее время первая функция не имеет возвращаемого значения , Затем вы захотите вызвать первую функцию и передать значение второй, например, примерно так:

func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    for touch in touches{
        var touchLocation = touch.location(in: self)
        var angle1 = atan2(1SpriteNode.position.y - touchLocation.y , 1SpriteNode.position.x - touchLocation.x)
        var angle = angle1 - CGFloat(Double.pi / 1)
        moveToTouchLocation(angle)
    }
}

func moveToTouchLocation(angle: CGFloat) {
    // whatever you want to do here.
}
...