Я пытаюсь получить SKScene presentScene с поведением перехода для работы. Текущая технология Cesene работает, хотя все, что я получаю, является поведением MoveUp по умолчанию. Я загружаю сцену SpriteKit из архива для сцены. Кажется, не имеет значения, что я вставляю в тип перехода, я всегда получаю поведение по умолчанию. Я отлаживал, чтобы убедиться, что переход имеет значение (т. Е. Не ноль). Я использую объекты iCloud и coreData, хотя я не знаю, как это повлияет на презентацию сцены. Я включил управляемый объектный код в viewWillAppear.SKScene Present Scene Transition не работает с SpriteKit Сцена в Swift
class GameViewController: UIViewController, GameDelegate {
var managedObjectContext: NSManagedObjectContext!
var heroCharacter : HeroCharacter!
override func viewDidLoad() {
super.viewDidLoad()
presentGameScene()
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
// access the application managed object context - jwg
managedObjectContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
// Persistant Store Changes uses the coordinator
NSNotificationCenter.defaultCenter().addObserver(self, selector: "receivePersistantStoreDidChange", name: NSPersistentStoreCoordinatorStoresDidChangeNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: "receivePersistantStoreWillChange:", name: NSPersistentStoreCoordinatorStoresWillChangeNotification, object: managedObjectContext.persistentStoreCoordinator)
// iCloud notifications using the coordinator
NSNotificationCenter.defaultCenter().addObserver(self, selector: "receiveICloudChanges:", name: NSPersistentStoreDidImportUbiquitousContentChangesNotification, object: managedObjectContext.persistentStoreCoordinator)
}
// MARK: scenes
func presentGameScene() {
if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene {
// Configure the view.
let skView = self.view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
/* Sprite Kit applies additional optimizations to improve rendering performance */
skView.ignoresSiblingOrder = true
/* Set the scale mode to scale to fit the window */
scene.scaleMode = .AspectFill
// set target values
scene.heroCharacter = heroCharacter
scene.viewDelegate = self
// this transition is not working
let transition = SKTransition.fadeWithDuration(10)
skView.presentScene(scene, transition: transition)
}
}
Код сцены довольно общий, а также
override func didMoveToView(view: SKView) {
// access the application managed object context - jwg
managedObjectContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
// Setup physics world's contact delegate
physicsWorld.contactDelegate = self
// Setup waterfall
waterfall = self.childNodeWithName(kWaterfallName) as? SKSpriteNode
// Setup goal
goal = self.childNodeWithName("goal") as? SKSpriteNode
// Setup initial camera position
updateCamera()
// load texture atlases
CharacterSprite.loadTextureAtlasArrays()
var textureAtlasArray = [SKTextureAtlas]()
textureAtlasArray.append(SKTextureAtlas(named: kIcebergAtlas))
SKTextureAtlas.preloadTextureAtlases(textureAtlasArray, withCompletionHandler: {() -> Void in
#if DEBUG
print("completed loading atlases")
#endif
self.startScene()
})
}
func updateCamera() {
if let camera = camera {
camera.position = CGPoint(x: characterSprite!.position.x, y: characterSprite!.position.y)
}
}
Лучше ответить на вопрос 1-го, а затем добавить в помощь код. кроме этого это правильно, вы не переходите ни от чего в начале, ваша сцена есть. Если вам нужно, чтобы «SKView» переходил в начале, вам нужно посмотреть «UIView», переходящий – Knight0fDragon
ура для редактирования. Будет помнить в следующий раз – crashoverride777
Спасибо. Вы правы в том, что я пытался перейти при представлении сцены из контроллера вида. Таким образом, попытка выполнить переход из ViewController является проблемой. В качестве побочной заметки у меня было 10 секунд, если бы переход произошел быстрее, чем я мог видеть. Как вы отметили, переход не имеет отношения к ViewController, поэтому ни одно время перехода. – Jacksonsox