.sks
फ़ाइल आपके दृश्य की सामग्री का एक स्थिर संग्रह है। यदि आपने पहले यूआई ऐप्स सेट अप करने के लिए इंटरफेस बिल्डर का उपयोग किया है, तो यह एक ही विचार है, अगर कार्यान्वयन में अलग है।
एक यूआई ऐप्स में, आप कोड में सब कुछ कर सकता है:
override func viewDidLoad() {
let someText = UITextField(...)
let aButton = UIButton(...)
// ... position everything
// ... style everything
// ... etc ...
}
या आप आईबी में सभी स्थैतिक सामग्री सेटअप (एक xib या स्टोरीबोर्ड) कर सकता है, और केवल गतिशील स्थापित करने के लिए कोड का उपयोग आपके ऐप का व्यवहार - चीजें जो तब होती हैं जब कोई उन बटन को छूना शुरू करता है। जब आप ऐसा करते हैं, तो दृश्य नियंत्रक जिसे आप कोड लिखते हैं, xib/storyboard में प्रॉक्सी ऑब्जेक्ट के रूप में मौजूद है, जो आपने आईबी में सेट अप और जो कोड में सेट अप किया है, उसके बीच एक पुल बना रहा है।
स्प्राइटकिट में, आपके पास वही विकल्प है। यहां तक कि इससे पहले कि आप एक खेल में बनाने के लिए कोड जोड़ना शुरू (इनपुट से निपटने -
override func didMoveToView(view: SKView) {
let player = PlumberSprite(color: .Red)
player.position = // ...
player.physicsBody = // ...
self.addChild(player)
let ground = SKSpriteNode(...)
ground.position = // ...
ground.physicsBody = // ...
self.addChild(ground)
let block = QuestionBlockSprite()
block.position = // ...
block.physicsBody = // ...
block.contents = CoinSprite()
self.addChild(block)
// ... etc etc etc ...
}
क्या अंततः एक ग्राफिकल, स्थिर दृश्य है के लिए कोड का एक बहुत है कि: Xcode 6 से पहले, कई एसके खेल सभी कोड दृष्टिकोण लिया , दुश्मन व्यवहार, भौतिकी कॉलबैक जो स्कोर बढ़ाते हैं या खेल पर जाते हैं, आदि)। और यह डिज़ाइन के लिए खुद को उधार नहीं देता है जहां आप सामग्री से सामान्य गेम तर्क को विभाजित करते हैं, इसलिए आपके गेम में कई स्तर जोड़ना कठिन होता है।
इसके बजाय, आप अपनी स्थिर सामग्री (स्तर) बनाने के लिए एक्सकोड में स्प्राइटकिट संपादक का उपयोग कर सकते हैं, और गतिशील व्यवहार और गेम तर्क के लिए कोड पर चिपके रह सकते हैं। जैसे, आईबी में, व्यू कंट्रोलर आपके स्टोरीबोर्ड और आपके कोड के बीच एक पुल है, आपकी दृश्य कक्षा (GameScene.swift
टेम्पलेट में) संपादक और कोड के बीच पुल है। जब आप रन टाइम पर .sks
फ़ाइल लोड करते हैं (इसके लिए कोड GameViewController.swift
टेम्पलेट में है), यह आपके GameScene
वर्ग का एक उदाहरण बन जाता है, और संपादक में सेट की गई कोई भी चीज़ दृश्य के बाल नोड्स के रूप में पहुंच योग्य है।
डब्ल्यूडब्ल्यूडीसी वार्ता की जांच करना एक अच्छा विचार है, लेकिन आप इसे कवर करने वाले व्यक्ति को याद करते हैं: स्प्राइटकिट संपादक के पीछे प्रेरणा के बारे में session 608: Best Practices for Building SpriteKit Games देखें, इसका उपयोग कैसे करें, और दृश्य सामग्री से लोड कैसे करें आपके दृश्य कोड में .sks
फ़ाइल।
उत्कृष्ट! उस वीडियो के पहले 20 मिनट बिल्कुल वही था जो मुझे चाहिए था! –
मुझे .sks फ़ाइल थोड़ा सीमित लगता है।कभी-कभी मैं जो वस्तुएं जोड़ता हूं उसे खो देता है, और दूसरी बार यह मेरे द्वारा किए गए परिवर्तनों को बदल देता है (बनाम बनाम मोड संपादित करें)। एक परत दृश्य के बिना, मुझे नहीं पता कि यह कितना उपयोगी है .sks फ़ाइल तब तक है जब तक ऐप्पल अधिक सुविधाओं को जोड़ता है। एक जटिल पदानुक्रम के साथ काम करने के लिए आपको आगे और पीछे नोड्स को फेंकना होगा। –