2012-06-07 18 views
5

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

ठीक है, मैंने एक दृश्य में स्प्लैश स्क्रीन लागू की है, और सभी संसाधनों और दृश्यों को लोड करते समय। (https://sites.google.com/site/matimdevelopment/splash-screen--- आसान-way)

फिर, मुझे अपने मेनू से पृष्ठभूमि सेट करना होगा, मुझे लगता है कि मुझे एक TextureRegion और एक चाहिए प्रत्येक बैकग्राउड बनाने के लिए बिटमैपटेक्चर एटलस। मैं यह कर:

घोषित बनावट:

//Fondo escenas 
private TextureRegion menuBgTexture; 
private BitmapTextureAtlas menuBackgroundTexture; 

लोड संसाधन और लोड दृश्यों (वे onPopulateScene द्वारा कहा जाता है जब स्पलैश समाप्त होता है)

public void loadResources() 
{ 
    //FondoMenu 
    menuBackgroundTexture = new BitmapTextureAtlas(null, 480, 320, TextureOptions.DEFAULT); 
    menuBgTexture = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.menuBackgroundTexture, this, "menubg.png", 0, 0); 
    //Cargamos los fondos 
    mEngine.getTextureManager().loadTexture(this.menuBackgroundTexture); 

} 

private void loadScenes() 
{ 
    //Menú 
    menuScene = new Scene(); 
    final float centerX = (CAMERA_WIDTH - menuBgTexture.getWidth())/2; 
    final float centerY = (CAMERA_HEIGHT - menuBgTexture.getHeight())/2; 
    SpriteBackground bg = new SpriteBackground(new Sprite(centerX, centerY, menuBgTexture)); 
    menuScene.setBackground(bg); 
    //menuScene.setBackground(new Background(50, 0, 0)); 
    //Options 
    optionsScene = new Scene(); 
    //Juego 
    gameScene = new Scene(); 
    //Pausa 
    pauseScene = new Scene(); 
    //Gameover 
    gameOverScene = new Scene(); 
} 

लोड संसाधन नहीं, त्रुटि, लेकिन loadScenes से पता चलता रेखा : स्प्राइटबैकग्राउंड बीजी = नया स्प्राइटबैकग्राउंड (नया स्प्राइट (सेंटरएक्स, सेंटरवाई, मेनूबीजीटेक्चर));

मुझे कहता है कि मुझे एक नई विशेषता (ISpriteVertexBufferObject) सेट करना है, ठीक है, यह क्या है?

+0

आप किस जीएलएस का उपयोग कर रहे हैं? GLES2? मेरे पास GLES2 में क्रिएट रिसोर्सेज() है। मुझे नहीं पता कि निकोलस ग्रामलिच ने इस तरह के महत्वपूर्ण कार्यों का नाम बदलने का फैसला क्यों किया, और उन्होंने दस्तावेज़ के बिना इंजन/लाइब्रेरी क्यों बनाई। क्या कोई मदद प्रदान कर सकता है? – shailenTJ

+1

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

+0

मुझे भी इसी तरह का सामना करना पड़ रहा है ... मैं अपनी पृष्ठभूमि सेट करने में असमर्थ हूं ... यहां कोड है ..मेनू बैकग्राउंडटेक्चर = नया बिटमैपटेक्चर एटलस (शून्य, 2 * कैमरे_विड्थ, 2 * कैमरे_हेइट, TextureOptions.DEFAULT); \t मेनूबीजीटेक्चर = बिटमैपटेक्चर एटलासटेक्चर रेगियनफैक्टरी.क्रेटफ्रॉमएसेट (यह.मेनू बैकग्राउंडटेक्चर, यह, "land.png", 0, 0); \t \t स्प्राइटबैकग्राउंड बीजी = नया स्प्राइटबैकग्राउंड (नया स्प्राइट (0, 0, मेनूबीजीटेक्चर, this.getVertexBufferObjectManager()); \t \t mScene.setBackground (बीजी); .... क्या कोई मेरी मदद कर सकता है? – Rahul

उत्तर

2
VBOManager वस्तु के लिए

, का उपयोग

this.getVertexBufferObjectManager(); 
+0

धन्यवाद! ठीक काम करता है :) बीजी छवि स्क्रीन पर सभी जगह भर नहीं है, मुझे कुछ भी जोड़ना है? – Genaut

+0

आप इंजन को कैसे प्रारंभ कर रहे हैं? क्या आकार, क्या संकल्प पॉलिसी – jmroyalty

+0

ठीक है, मैं अब इंजन से शुरू कर रहा हूं, इसलिए मुझे अभी तक इसके बारे में बहुत कुछ पता नहीं है, लेकिन मेरा "ऑनक्रेटइंजिन" है: कैमरा = नया कैमरा (0, 0, कैमरे_विड्थ, कैमरे_हेइट); इंजनऑप्शन इंजनऑप्शन = नए इंजन विकल्प (सत्य, स्क्रीनऑरिएंटेशन।LANDSCAPE_FIXED, नया FillResolutionPolicy(), कैमरा); निजी अंतिम int CAMERA_WIDTH = 720; निजी अंतिम int CAMERA_HEIGHT = 480; मेरी छवि का आकार 320x480 – Genaut

1

मैं अपने खेल के साथ एक ही मुद्दा था। समाधान एक पृष्ठभूमि छवि है जो कैमरा के समान आयामों का है। उदाहरण के लिए, यदि आपका कैमरा 800X480 है, तो छवि समान आयामों का भी होना चाहिए। इसके अलावा, बिटमैपटेक्चर के आयामों को दो के कारक बनाएं। आपके मामले में, यह 512 पीएक्स द्वारा 512 पीएक्स होना चाहिए। उम्मीद है की वो मदद करदे।

चीयर्स !!