Nano Hash - криптовалюты, майнинг, программирование

Сцена Sprite Kit зависает или приостанавливается после отправки приложения в фоновый режим в iOS 8

Я делаю SpriteKit анимацию с использованием построителя интерфейса XCode 7, что означает добавление SKNodes и SKActions, таких как вращение, перемещение, постепенное появление и исчезновение всего через построитель интерфейса, даже не одну строку кода для анимации.

Все работает нормально, пока я не отправлю свое приложение в фоновый режим. Когда я отправляю приложение в фоновый режим и запускаю его снова, анимация приостанавливается. Эта проблема только для iOS 8, она отлично работает на iOS 9.

Ниже приведен код, который я использовал для представления сцены:

override func viewDidLoad() {
        super.viewDidLoad()

        UIApplication.sharedApplication().idleTimerDisabled = true
        self.navigationController?.navigationBarHidden = true
        let scene = SceneClass(fileNamed: "xxxxxxxx.sks");
        self.view = SKView();

        let skView = self.view as! SKView

        /* Sprite Kit applies additional optimizations to improve rendering performance */
        skView.ignoresSiblingOrder = true
        scene!.cockViewController = self;

        /* Set the scale mode to scale to fit the window */
        scene!.scaleMode = .Fill

        scene!.view?.autoresizesSubviews = true;
        scene?.delegates = self
        skView.presentScene(scene)

    }

Кто-нибудь знает, как это решить? Спасибо.


Ответы:


1

вам нужно создать класс представления для представления вашей игровой сцены, если у вас его нет, и добавить следующий код

class GameSceneView : SKView
{
    func CBApplicationDidBecomeActive()
    {
    }
}

В построителе интерфейса в представлении, содержащем GameScene, убедитесь, что вы установили для класса значение GameSceneView.

В SKView есть ошибка, из-за которой эта функция вызывается с уведомлением об активации и приостанавливает просмотр.

*Обратите внимание, если это что-то сломает в iOS 9, добавьте оболочку вокруг этого, чтобы его можно было использовать только в iOS 8.

13.10.2015
  • Я попробовал это, добавив его в наш класс GameScene, который является подклассом SKScene, но безрезультатно. Этот метод даже не вызывается. Мне нужно написать какой-то код в нем или где-то еще, чтобы он вызывался? 14.10.2015
  • вы не следовали инструкциям, ваша игровая сцена подключена к SKView, вам нужно создать класс, который расширяется от SKView, если вы еще этого не сделали, я отредактирую свой ответ, чтобы отразить это 14.10.2015
  • кто-нибудь получил это работает в примере проекта? У меня проблемы с решением этой же проблемы.. сводя меня с ума :( 18.01.2016
  • Вы делаете 8 или 9? 18.01.2016
  • iOS 9, вы, возможно, видели в другом посте. В любом случае, глядя на исходный пост здесь, я не могу не задаться вопросом, что происходит в cockViewController! :) 19.01.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..