2014-10-26 9 views
6

का उपयोग किए बिना एक गेम बनाना मेरे पास एक गेम विचार है कि किसी भी स्प्राइटकिट फीचर्स (भौतिकी, टकराव या क्रिया) की आवश्यकता नहीं है, यह आपके लिए एक साधारण रणनीति गेम (प्लेग इंक, या डेमोक्रेसी) है लोग उन खेलों से परिचित हैं। तो मैंने सोचा कि मैं इसे अपने लिए आसान बना सकता हूं और इसे कोडबोर्ड दृश्य नियंत्रक और ऑब्जेक्ट को कोड में करने के बजाए ऑब्जेक्ट का उपयोग करने की लक्जरी के साथ सामान्य तरीका बना सकता हूं। लेकिन स्प्राइटकिट में एक फीचर है जो मेरे गेम (या उस मामले के लिए कोई भी गेम) के लिए बहुत जरूरी है जो कि सामान्य एक्सकोड परियोजनाओं में नहीं है जो "अपडेट" विधि है, आप स्कोर और अन्य मूल्यों को ट्रैक रखने के लिए जानते हैं है, तो मैं इसे बंद करने के कुछ लागू किया और बस ठीक काम करता है:SpriteKit

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    var finish = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "check", userInfo: nil, repeats: true) 
} 

func check() { 

    if score == 10 { 

     println("Win!") 
    } 
} 

यह सिर्फ ठीक काम करता है, लेकिन मुझे यकीन है कि अगर यह सबसे अच्छा अभ्यास है या इस तरह की एक विधि का प्रदर्शन कितना प्रभावित करेगा जाएगा नहीं कर रहा हूँ ऐप, विशेष रूप से यदि मेरे पास 1 से अधिक विधि हैं जो हर समय चलती हैं।

+2

सट्टा ... अपना गेम बनाएं (या बेहतर: प्रोटोटाइप) और देखें कि यह कोई समस्या बन गई है या नहीं। यह शायद नहीं होगा। – LearnCocos2D

+0

धन्यवाद आपकी मदद के लिए LearnCocos2D – Abdou023

उत्तर

2

अपने वर्तमान कोड के साथ, आप हर दूसरे check() फ़ंक्शन को कॉल कर रहे हैं। यह सब फ़ंक्शन एक पूर्णांक की तुलना करता है। यह कंप्यूटर सबसे बुनियादी चीजों में से एक है जो कंप्यूटर कर सकता है: एक आईओएस डिवाइस में सीपीयू कई हजारों को इस तरह की तुलना में एक सेकंड की तुलना में बहुत कम समय में चलाने में सक्षम है। तो आपके पास चिंता करने का कोई कारण नहीं है।

अब, जब आप अपना गेम बनाते हैं तो आप अपने आप को इस विधि में विस्तार और जोड़ सकते हैं, इस मामले में प्रदर्शन एक समस्या बन सकता है। सबसे अच्छी बात यह है कि, ऊपर दी गई टिप्पणियों में से एक सुझाव देता है, बस अपना गेम बनाएं और देखें कि यह कोई समस्या बन गई है या नहीं। प्रदर्शन के बारे में सोचना हमेशा अच्छा होता है, लेकिन साथ ही आपको खराब को अनुकूलित करने के लिए अनुकूलित करने के लिए यह भी अच्छा हो सकता है।

+1

धन्यवाद। – Abdou023

6

मैंने स्प्राइटकिट के साथ और बिना गेम बनाए हैं, और आप जो कर रहे हैं वह बिल्कुल ठीक है।

आप जहां भी स्कोर स्कोर कर रहे हैं, स्कोर को चेक करने पर विचार करना चाह सकते हैं। यदि स्कोर एक से अधिक स्थानों में अपडेट हो जाता है, तो उस फ़ंक्शन को कॉल करें जो स्कोर अपडेट करता है और फिर तुरंत इसकी जांच करता है। फिर, आप सभी को लूप से बच सकते हैं। इसके अलावा, यदि लूप रन से पहले स्कोर को कई बार अपडेट किया जाता है, तो यह उस स्थिति को छोड़ सकता है जहां स्कोर == 10.

+1

आपकी मदद के लिए धन्यवाद। – Abdou023

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