2011-07-28 11 views
7

मैं अपने खेल के लिए एंग्री बर्ड, फार्म टॉवर, और रस्सी काट (भाग जहां आप दुनिया का चयन करते हैं, या गैलरी विजेट के समान हिस्सा) के समान स्तर के लिए एक स्तर स्क्रीन बनाना चाहते हैं। मैं जानना चाहता था कि इस पर हमला करने का सबसे आसान तरीका क्या है।फार्म टॉवर, एंग्री बर्ड, रस्सी काट, आदि जैसे स्तर चयनकर्ता स्क्रीन?

इस के लिए काम करने के लिए Gallery दृश्य को मैं कैसे संशोधित करूं?

+0

क्या आपके पास इस विचार को कोई भाग्य है? कृपया बाँटें। thnx –

+0

वास्तव में नहीं। अभी भी एक उत्तर खोज रहे हैं! –

उत्तर

2

Gallery व्यू का उपयोग कर स्तर चयनकर्ता बनाने का विचार यहां दिया गया है। http://developer.android.com/resources/tutorials/views/hello-gallery.html

तो शीर्ष पर आप अपने स्तर स्क्रीन होगा:

के इस उदाहरण का अनुसरण बस इतनी है कि आप एक कोड बेस करते हैं। जब कोई उपयोगकर्ता उस पर क्लिक करता है, तो इस विधि को निकाल दिया जाता है (उदाहरण से सीधे लिया जाता है)। फिर

public void startLevel(int position){ 
    Resources res = getResources(); 
    String[] levels = res.getStringArray(R.array.level_classes); 
    try{   
     Intent i = new Intent(this, Class.forName(levels[position])); 
     startActivity(i); 
    } catch (ClassNotFoundException e) { 
     e.printStackTrace(); 
    } 
} 

, एक बहुत ही बुनियादी उदाहरण के बाद से मुझे पता नहीं कैसे आप अपने स्तरों भंडारण कर रहे हैं, तो आप एक डेटाबेस नहीं उपयोग कर रहे हैं या यदि है:

gallery.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView parent, View v, int position, long id) { 
     startLevel(position); 
    } 
}); 

हो सकता है कि आपके startLevel कुछ इस तरह दिखेगा , आदि। इसके अलावा, प्रत्येक स्तर के लिए आपकी कक्षाएं शायद अलग-अलग पैकेजों में रहेंगी, (जैसे com.game.levelone, com.game.leveltwo) और आपको कक्षा पैकेज आयात करने की आवश्यकता होगी ताकि ClassNotFoundException प्राप्त न हो लेकिन यह आपको सही दिशा में शुरू करना चाहिए।

4

विचार hierarchy बनाते हैं। GridView के Gallery बनाएं।

आप गैलरी ट्यूटोरियल से कोड अनुकूल करने के लिए चाहते हैं, तो ImageViewLevelSetView को बदल सकते हैं और LevelSetAdapter कि BaseAdapter फैली बनाने के लिए, और उसके getView विधि ओवरराइड। यहां एक शुरुआत है।

public class HelloLevelsGalleryActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Gallery g = (Gallery) findViewById(R.id.gallery); 
     g.setAdapter(new LevelSetAdapter(this)); 
    } 

बेहतर एडेप्टर को समझने के लिए: reference या 2 मिनट पर इस video

इसके अलावा, प्रश्न here से पूछा गया था।

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