3
내 스프라이트 노드의 크기를 조정하기 위해 핀치 제스처 인식기를 구현하려고합니다. 나는 그 일을 위해서 setScale(sender.scale)
을 사용하고 있지만, 손가락을 들어서 다시 집어 넣으려고 할 때마다 내 스프라이트가 다시 집게되기 전에 1.0으로 다시 설정됩니다.핀치 제스추어를 사용하여 스프라이트 키트 노드 크기 조정
내가 원하는 것은 화면을 다시 집어 넣을 때 스프라이트 크기가 그대로 유지되고, 집게 될 때 스프라이트 크기가 그대로 유지되거나 커지면 커질 수 있기 때문에 큰 크기로 만들기 위해 집을 비틀 수 있습니다. 가능한 한 작습니다. 이 작업을 수행하는 방법?
여기 내 코드가 있습니다.
var pizza = PizzaSprite()
override func didMove(to view: SKView) {
let pinchGesture = UIPinchGestureRecognizer(target: self, action: #selector(self.handlePinchFrom(_:)))
pizza = PizzaSprite(size: self.frame.width * 0.25)
self.addChild(pizza)
self.view?.addGestureRecognizer(pinchGesture)
}
func handlePinchFrom(_ sender: UIPinchGestureRecognizer) {
if sender.state == .began {
} else if sender.state == .changed {
pizza.setScale(sender.scale)
} else if sender.state == .ended {
}
}
여기 지금 일주일 동안이에서 일했다, 그래서 PizzaSprite 클래스를
init() {
let texture = SKTexture(imageNamed: "demPizza")
super.init(texture: texture, color: UIColor.clear, size: texture.size())
}
init(size: CGFloat) {
let texture = SKTexture(imageNamed: "demPizza")
super.init(texture: texture, color: UIColor.clear, size: CGSize(width: size, height: size))
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}