मुझे एक भ्रमित स्थिति है।प्रस्तुत किए गए UIView एसकेएससीन - दृश्यों को हमेशा दृश्य में क्यों जा रहे हैं?
class MyView: SKView {
...
public override func awakeFromNib() {
super.awakeFromNib()
let gameScene = MyGameScene(...)
// ...
presentScene(gameScene)
let view = UIView()
view.frame = bounds
view.isUserInteractionEnabled = true
addSubview(view)
}
...
}
class MyGameScene: SKScene {
...
public override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
print("touch received")
}
...
}
मैं एक SKView
है कि एक SKScene
पेश है: सबसे पहले, यहाँ कोड है। इसे पेश करने के बाद, मैं UIView
जोड़ता हूं जो स्क्रीन भर रहा है। हालांकि, जब मैं ऐप शुरू करता हूं और स्क्रीन पर टैप करता हूं, तो "प्राप्त स्पर्श" मुद्रित होता है, जिसका अर्थ यह है कि स्पर्श दृश्य के माध्यम से मिलता है, जो view
के पीछे होना चाहिए। ऐसा क्यों है?
और इसे रोकने के लिए मैं क्या कर सकता हूं?
मैंने दृश्य में एक इशारा पहचानकर्ता जोड़ने का भी प्रयास किया। यह समस्या को रोकता नहीं है, हालांकि (भले ही मैंने cancelsTouchesInView
को सत्य पर सेट किया है)
किसी भी मदद के लिए धन्यवाद।
'view.isUserInteractionEnabled = false' को आज़माएं जो इसे बनाना चाहिए ताकि GameScene SKView स्पर्श को स्वीकार न करे –
मुझे पता है, यही है 'isUserInteractionEnabled' है। मैं * चाहता हूं कि यह स्पर्श स्वीकार करे। और यदि आपका मतलब है 'MyGameScene' पर इसे अक्षम करना, यह एक विकल्प नहीं है। 'SKView' को स्पर्श पकड़ना चाहिए और इसे – Quantm
पर रीडायरेक्ट नहीं करना चाहिए, क्या आप 'presentSene()' – murphguy