Я создал игру, в которой есть экран начального меню. На этом экране меню, я хочу видео (я записал меня, играя в эту игру через симулятор iPhone 6), чтобы играть на фоне этого экрана меню. Я получил видеоролик, но, что происходит, когда загружается представление, он отображает меню, затем он покажет видео, заменяющее само меню.Видео, воспроизводимое на фоне SKScene
import SpriteKit
import UIKit
import AVFoundation
class MenuScene: SKScene {
var player:AVPlayer!
var VideoSprite:SKVideoNode!
override func didMoveToView(view: SKView) {
let videoURL: NSURL = NSBundle.mainBundle().URLForResource("startTo32", withExtension: "mov")!
player = AVPlayer(URL: videoURL)
player?.actionAtItemEnd = .None
player?.muted = true
let playerLayer = AVPlayerLayer(player: player)
playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
playerLayer.zPosition = -100
playerLayer.frame = view.frame
player?.play()
NSNotificationCenter.defaultCenter().addObserver(self,
selector: #selector(MenuScene.loopVideo),
name: AVPlayerItemDidPlayToEndTimeNotification,
object: nil)
view.layer.addSublayer(playerLayer)
}
func loopVideo() {
player?.seekToTime(kCMTimeZero)
player?.play()
}
-------- ОБНОВЛЕНИЕ --------
Here's the link to see what I'm talking about. экран со словами, где я пытаюсь получить видео, чтобы играть, но вместо этого он просто заставляет экран белым, а затем воспроизводит видео.
Любые вопросы или необходимость в добавлении информации, просто комментарий.
Спасибо, Иордания.
Это сработало. Но как изменить его размер. Это слишком большое. Как показано, он увеличен. Я продолжаю пытаться «VideoSprite.size = CGSize (self.frame)», но я получаю сообщение об ошибке. –
Вместо этого попробуйте 'VideoSprite.size = self.frame.size'. Вы пытаетесь построить 'CGSize' из' CGRect' (frame), поэтому вы получаете ошибку. – nathan
Спасибо за оба ответа. Проведите отличную ночь (Нью-Йорк). –