InteractiveCameraNode
이라는 간단한 하위 클래스 SKCameraNode
이 있습니다. 지금은 매우 간단합니다 : 카메라의 위치가 바뀌면 상황이 발생해야합니다. 여기에 내가 무슨 짓을 :SKCameraNode.position SKCction을 사용하여 이동할 때 setSet이 실행되지 않습니다.
class InteractiveCameraNode: SKCameraNode {
// MARK: - Properties
var enableInteraction = true
var positionResponders = [(CGPoint, CGPoint) -> Void]()
/// Calls every closure in the `positionResponders` array
override var position: CGPoint {
didSet {
if enableInteraction {
for responder in positionResponders {
responder(oldValue, position)
}
}
}
}
}
카메라 이동, 나는 카메라의 위치가 변경 될 때 호출되는 폐쇄의 배열이 때 일어나는 여러 가지가있을 수 있기 때문에. 지금까지는 액션을 사용하여 카메라를 움직이면 didSet
관찰자가 호출되지 않는 것을 제외하고는 모든 것이 완벽하게 작동합니다. 카메라를 구속 조건으로 사용하여 노드를 추적 한 다음 해당 노드를 동작으로 이동하면 작동합니다. 카메라를 손으로 움직이면 작동합니다. 왜 행동으로는 효과가 없을까요? 나뿐만 아니라 뭔가 유용한 오늘 :
그것은 그 행동처럼 보이는 배운 ..
KVO는 무엇인가요? – BadgerBadger
@BadgerBadger https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html#//apple_ref/doc/uid/10000177-BCICJDHA – Fluidity
일반적으로 전체 참석자/kvo/메신저/신호 패턴 (나는 수동으로 일을하는 것을 좋아한다. 맨 아래).하지만이 경우에는 정확히 당신이하려는 것과 같은 소리이기 때문에이 옵션을 탐색 할 것이다. @BadgerBadger – Fluidity