2014-07-14 9 views
6

मान लें कि मैं एक दृश्य initialScene से शुरू करता हूं। इस दृश्य में कुछ बटन हैं। जब उपयोगकर्ता इस दृश्य में बटन ए को टैप करता है, तो मैं sceneA प्रस्तुत करूंगा।स्प्राइट किट में दृश्यों के बीच नेविगेटिंग?

sceneA* scene = [[sceneA alloc] init]; 
[self.scene.view presentScene: scene]; 

मेरा पहला सवाल है, जब sceneA का एक उदाहरण initialScene से प्रस्तुत किया जाता है, यह initialScene उदाहरण के ऊपर रखा जाता है या इसे बदलने करता है: तो मेरी कोड इस प्रकार दिखाई देगा? क्या नया दृश्य प्रस्तुत होने पर initialScene की स्मृति स्मृति में विलुप्त हो जाती है?

मैं यह पूछता हूं क्योंकि sceneA में बैक बटन होगा, जब टैप किया जाएगा, उपयोगकर्ता को प्रारंभिक दृश्य में वापस कर देगा। क्या मैं sceneA के भीतर initialScene का एक नया उदाहरण बना सकता हूं और इसे प्रस्तुत कर सकता हूं, या इसके परिणामस्वरूप एक दूसरे के शीर्ष पर खड़े एक ही दृश्य के कई उदाहरण होंगे? असल में, मैं सिर्फ sceneA में ऐसा कर सकते हैं:

if(...) { //if user taps back button 
    initialScene* iniScene = [[initialScene alloc] init]; 
    [self.scene.view presentScene: iniScene]; 
} 

या वहां यह करने के लिए एक बेहतर तरीका है? कृपया मुझे बताएं कि क्या कोई तरीका है जिससे मैं इसे और स्पष्ट कर सकता हूं।

उत्तर

5

स्प्राइट किट दृश्यों के बीच संक्रमण को आसान बनाता है। आप या तो दृढ़ता से चारों ओर दृश्य रख सकते हैं, या जब आप उनके बीच संक्रमण करते हैं तो उनका निपटान कर सकते हैं। इस उदाहरण में, आप कुछ अन्य गेम व्यवहार सीखने के लिए दूसरा दृश्य कक्षा बनाते हैं। जब "हैलो, वर्ल्ड!" टेक्स्ट स्क्रीन से गायब हो जाता है, तो कोड एक नया दृश्य बनाता है और इसमें संक्रमण करता है। संक्रमण के बाद हैलो दृश्य को त्याग दिया जाता है।

स्प्राइट किट प्रोग्रामिंग गाइड

https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/GettingStarted/GettingStarted.html#//apple_ref/doc/uid/TP40013043-CH2-SW10

संबंधित मुद्दे