gpt4 book ai didi

ios - 当不在相机视野中时停止 SKVideoNode 播放

转载 作者:行者123 更新时间:2023-11-30 11:19:40 26 4
gpt4 key购买 nike

我使用SpriteKit图像识别。 SpriteKit 工作正常,可以进行图像识别。识别后,我在该图片上添加视频。当相机改变方向并且视频节点不在 View 中时,如何删除视频?

简单代码:

override func viewDidLoad() {
super.viewDidLoad()

guard let referenceImages = ARReferenceImage.referenceImages(inGroupNamed: "Room", bundle: nil) else {
fatalError("Missing expected asset catalog resources.")
}

let configuration = ARWorldTrackingConfiguration()
configuration.detectionImages = referenceImages

sceneView.session.run(configuration, options: [.resetTracking, .removeExistingAnchors])

}



func view(_ view: ARSKView, didAdd node: SKNode, for anchor: ARAnchor) {

if let imageAnchor = anchor as? ARImageAnchor,
self.myImage == imageAnchor.referenceImage {
node.addChild(self.addNode())
}
}

private func addNode () -> SKVideoNode {
let video = SKVideoNode(url: URL(string: "http://techslides.com/demos/sample-videos/small.mp4")!)
video.size = CGSize(width: 40, height: 40)
video.position = CGPoint(x: 0, y: 0)
video.play()
return video
}

最佳答案

如果你想检查 videoNode 是否在相机中,只需执行 camera.contains(videoNode) 即可。

基本上在相机移动时(无论你将相机移动到哪里):

if !scene.camera.contains(videoNode){
videoNode.pause()
}

关于ios - 当不在相机视野中时停止 SKVideoNode 播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51422008/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com