7
나는 스크린 샷을 찍어서 사진 라이브러리에 저장하는 방법을 알고 있습니다. 아래 코드를 사용하여이 작업을 수행합니다. 내 레벨 장면 단추 이미지를 내 gameScene의 스크린 샷으로 바꾸고 싶습니다. 내 이미지 버튼이 150x150이라고 가정 해보십시오. 이것을 어떻게 할 수 있습니까? UIGraphicsGetImageFromCurrentImageContext
으로레벨 버튼 이미지를 레벨 게임 장면의 스크린 샷으로 대체하려면 어떻게해야합니까?
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)
}
물론 버튼 컬렉션을 만들고 싶다면 다양한 텍스처를 배열에 저장하면됩니다. –
'screenshot'은 선택 사항입니다. – 0x141E