用户将应用程序发送到后台时关闭重力

时间:2018-09-24 22:48:16

标签: sprite-kit appdelegate

我在SpriteKit中有一个简单的重力相关游戏。游戏开始之前,重力已关闭。触摸屏幕时,将调用以下代码:

missile?.physicsBody?.affectedByGravity = true

如果您收到一条消息并返回它,我希望关闭重力,直到再次触摸屏幕。

我猜这是AppDelegate中的东西,但我确实卡在了那里。

在此先感谢您提供帮助。

1 个答案:

答案 0 :(得分:0)

首先将$map: (); @warn "#{type-of($map)}"; // Warning: list 的观察者添加到您的mainNode中,如下所示:

$map: ();
$newMap: map-merge($map, (1: test));
@warn "#{type-of($newMap)}";
// Warning: map

现在您可以在UIApplication.willResignActiveNotification中暂停mainNode:

NotificationCenter.default.addObserver(self, selector: #selector(appMovedToBackground), name: UIApplication.willResignActiveNotification, object: nil)

确保删除appMoveToBackground中的观察者:

@objc func appMovedToBackground() {
    mainNode.isPaused = true
}