AndEngine画直线程序(二)

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中来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值