package com.example.lineexample;
import org.anddev.andengine.engine.Engine;
import org.anddev.andengine.engine.camera.Camera;
import org.anddev.andengine.engine.options.EngineOptions;
import org.anddev.andengine.engine.options.EngineOptions.ScreenOrientation;
import org.anddev.andengine.engine.options.resolutionpolicy.RatioResolutionPolicy;
import org.anddev.andengine.entity.primitive.Line;
import org.anddev.andengine.entity.scene.Scene;
import org.anddev.andengine.entity.scene.background.ColorBackground;
import org.anddev.andengine.ui.activity.BaseGameActivity;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class LineExampleActivity extends BaseGameActivity {
private static final int CAMERA_HEIGHT = 480;
private static final int CAMERA_WIDTH = 720;
private Engine mEngine;//Engine主对象
private Camera mCamera;//摄像头对象
@Override
public Engine onLoadEngine() {
//创建一个摄像头,设置屏幕是720宽,480高
this.mCamera = new Camera(0,0,CAMERA_WIDTH,CAMERA_HEIGHT);
//创建游戏引擎
return new Engine(
//引擎参数1.全屏否2.横屏还是竖屏3.屏幕分辨率4.引擎使用的摄像头
new EngineOptions(true,ScreenOrientation.LANDSCAPE,
new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT),mCamera)
);
}
@Override
public void onLoadResources() {
//此处读取游戏资源图片
}
@Override
public Scene onLoadScene() {
//创建场景
Scene scene = new Scene();
//设置场景的背景,色彩采用RGB值
scene.setBackground(new ColorBackground(0.98f, 0.56f, 0.012f));
for(int i =0; i < 100; i++){
float x1 = (float)(Math.random() * CAMERA_WIDTH);
float x2 = (float)(Math.random() * CAMERA_WIDTH);
float y1 = (float)(Math.random() * CAMERA_HEIGHT);
float y2 = (float)(Math.random() * CAMERA_HEIGHT);
//创建一条直线,直线的起点和终点都是随机产生的
Line line = new Line(x1,y1,x2,y2);
//设置线段的颜色,颜色的设置方法同背景色
line.setColor((float)Math.random(), (float)Math.random(), (float)Math.random());
//把线段添加到场景中
scene.attachChild(line);
}
return scene;
}
@Override
public void onLoadComplete() {
//加载完成
}
}
onLoadEngine方法创建用来创建适应当前Activity的引擎,初始化这个引擎所用的摄像头Camera对象,设置屏幕的长宽和屏幕的全屏与否的各个属性。方法的最后返回一个引擎对象。
onLoadeResource方法加载图片资源等提供给创建给cene使用。
onLoadeScene方法创建游戏场景,给游戏场景设置背景色。在循环中创建线段对象Line,Line继承自Entity类,Entity就是在场景中运动的对象,例如背景对象、游戏主角等。这些游戏场景中的对象,最终要通过scene对象的attachChild方法被添加到Scene中来。