1

andegine の学習を開始しましたが、box2d 拡張機能に問題があります。このコードがあり、黒い画面が表示されます。PhysicsWorld の作成を削除すると、機能します。

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;
    }

}

それの何が問題なのですか?私は本当に解決策を見つけることができません。

4

2 に答える 2

0

これは無効だと思います:
new Color(50, 50, 50)
各パラメーターの有効な範囲は 0-255 ではなく 0-1 です

また、試してみてください:
gameScene.setBackground(new Background(Color.RED));

于 2013-04-19T19:58:09.670 に答える