Tôi biết cách chụp và lưu ảnh chụp màn hình vào thư viện ảnh. Tôi làm điều này bằng cách sử dụng mã dưới đây. Tôi muốn thay thế hình ảnh nút cấp cảnh của mình bằng ảnh chụp màn hình của gameScene của tôi. Nói rằng các nút hình ảnh của tôi là 150x150. Làm thế nào tôi có thể đạt được điều này?Làm cách nào để thay thế hình ảnh nút cấp bằng ảnh chụp màn hình cảnh trò chơi cấp độ?
func takeScreenShot(scene:SKScene) {
let bounds = self.scene!.view?.bounds
UIGraphicsBeginImageContextWithOptions(/*CGRect(x: 0, y: 0, width: 100, height: 100).size*/bounds!.size, true, UIScreen.main.scale)
self.scene?.view?.drawHierarchy(in: bounds!, afterScreenUpdates: true)
let screenshot = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
UIImageWriteToSavedPhotosAlbum(screenshot!, nil, nil, nil)
}
class LevelSelectScene: SKScene {
let button1: SKSpriteNode = SKSpriteNode(imageNamed: "image1")
let button2: SKSpriteNode = SKSpriteNode(imageNamed: "image2")
let button3: SKSpriteNode = SKSpriteNode(imageNamed: "image3")
...
override init(size: CGSize){
super.init(size: size)
button1.position = CGPoint(x: self.frame.width/4, y: self.frame.height/2)
self.addChild(button1)
button2.position = CGPoint(x: self.frame.width/2, y: self.frame.height/2)
self.addChild(button2)
button3.position = CGPoint(x: 3*self.frame.width/4, y: self.frame.height/2)
self.addChild(button3)
}
Tất nhiên, nếu bạn muốn xây dựng một bộ sưu tập các nút, thì chỉ cần lưu các họa tiết khác nhau vào một mảng. –
'ảnh chụp màn hình' là tùy chọn – 0x141E