2013-04-19 4 views
1

Я начал изучать andegine, и у меня есть некоторые проблемы с расширением box2d. У меня этот код, и он дает мне черный экран. Когда я удаляю создание PhysicsWorld, он работает.Создание PhysicalWorld дает мне черный экран

package com.cupofcoffee.heartjump; 
import org.andengine.engine.camera.Camera; 
import org.andengine.engine.options.EngineOptions; 
import org.andengine.engine.options.ScreenOrientation; 
import org.andengine.engine.options.resolutionpolicy.FillResolutionPolicy; 
import org.andengine.entity.primitive.Rectangle; 
import org.andengine.entity.scene.Scene; 
import org.andengine.entity.scene.background.Background; 
import org.andengine.entity.util.FPSCounter; 
import org.andengine.extension.physics.box2d.PhysicsWorld; 
import org.andengine.ui.activity.SimpleBaseGameActivity; 
import org.andengine.util.color.Color; 

import android.hardware.SensorManager; 

import com.badlogic.gdx.math.Vector2; 

public class MainActivity extends SimpleBaseGameActivity { 

    static final int CAMERA_WIDTH = 800; 
    static final int CAMERA_HEIGHT = 480; 
    Camera camera; 
    Scene gameScene; 

    Heart heart; 
    PhysicsWorld physicsWorld; 

    @Override 
    public EngineOptions onCreateEngineOptions() { 
     this.camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT); 

     EngineOptions engineOptions = new EngineOptions(true, 
       ScreenOrientation.LANDSCAPE_FIXED, new FillResolutionPolicy(), 
       camera); 
     return engineOptions; 
    } 

    @Override 
    protected void onCreateResources() { 

    } 

    @Override 
    protected Scene onCreateScene() { 
     mEngine.registerUpdateHandler(new FPSCounter()); 
     gameScene = new Scene(); 
     gameScene.setBackground(new Background(1, 1, 1)); 

     physicsWorld = new PhysicsWorld(new Vector2(0, SensorManager.GRAVITY_EARTH), false); 
//  heart = new Heart(500, 100, this, getVertexBufferObjectManager(), physicsWorld); 

//  gameScene.registerUpdateHandler(physicsWorld); 

//  gameScene.attachChild(heart.sprite); 

     Rectangle r = new Rectangle(100, 100, 100, 100, 
       getVertexBufferObjectManager()); 
     r.setColor(new Color(50, 50, 50)); 
     gameScene.attachChild(r); 
     return gameScene; 
    } 

} 

Что не так с этим? Я действительно не могу найти решение.

+0

ли вы решить эту проблему? У меня такая же проблема – jdleung

ответ

0

Я думаю, что это является недопустимым:
нового цвета (50, 50, 50)
в том, что допустимый диапазон для каждого параметра 0-1, не 0-255

Также попробуйте:
gameScene.setBackground (новый фон (Color.RED));

+0

Я добавил, что конструктор witch получает 0-255. –

0

вы можете установить цвет фона.

gameScene.setBackground(new ColorBackground(1, 1, 1)); 

или установить любое изображение, а затем

gameScene.setBackground(new SpriteBackground(yourSprite)); 
Смежные вопросы