package fishjoy.control.game;
import fishjoy.control.GameSound;
import fishjoy.control.game.factory.FishFactory;
import fishjoy.control.game.operation.ModelInformationController;
import fishjoy.control.game.operation.TextureRegionCreator;
import fishjoy.control.game.operation.artilleryoperation.ArtilleryController;
import fishjoy.control.game.operation.artilleryoperation.BulletSprite;
import fishjoy.control.game.operation.fishoperation.FishController;
import fishjoy.control.game.operation.sceneoperation.SceneConverter;
import fishjoy.control.game.operation.sceneoperation.SceneMonitor;
import fishjoy.control.game.timer.Timer;
import fishjoy.control.record.MyDataBaseAdapter;
import org.anddev.andengine.engine.Engine;
import org.anddev.andengine.engine.camera.Camera;
import org.anddev.andengine.engine.handler.IUpdateHandler;
import org.anddev.andengine.engine.handler.timer.ITimerCallback;
import org.anddev.andengine.engine.handler.timer.TimerHandler;
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.Entity;
import org.anddev.andengine.entity.scene.Scene;
import org.anddev.andengine.entity.scene.Scene.IOnSceneTouchListener;
import org.anddev.andengine.entity.sprite.Sprite;
import org.anddev.andengine.entity.sprite.TiledSprite;
import org.anddev.andengine.entity.text.ChangeableText;
import org.anddev.andengine.entity.util.FPSLogger;
import org.anddev.andengine.input.touch.TouchEvent;
import org.anddev.andengine.opengl.font.Font;
import org.anddev.andengine.opengl.font.StrokeFont;
import org.anddev.andengine.opengl.texture.Texture;
import org.anddev.andengine.opengl.texture.TextureOptions;
import org.anddev.andengine.opengl.texture.region.TextureRegion;
import org.anddev.andengine.opengl.texture.region.TextureRegionFactory;
import org.anddev.andengine.opengl.texture.region.TiledTextureRegion;
import org.anddev.andengine.ui.activity.BaseGameActivity;
import org.anddev.andengine.util.MathUtils;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import java.util.ArrayList;
import java.util.HashMap;
public class FishJoy extends BaseGameActivity implements IOnSceneTouchListener, GameConstants {
MyDataBaseAdapter mDataBase;
private Camera mCamera;
private Scene mScene, mPauseScene;
private TextureRegion mBackgroundTextureRegion, returnButtonTextureRegion, retryButtonTextureRegion, nextTextureRegion;
private TiledTextureRegion artilleryTextureRegion, pauseButtonTextureRegion, soundButtonTextureRegion;
private HashMap<Fish_Name, TiledTextureRegion> allMovingFishTextureRegionMap = new HashMap<Fish_Name, TiledTextureRegion>();
private HashMap<Fish_Name, TiledTextureRegion> allCapturedFishTextureRegionMap = new HashMap<Fish_Name, TiledTextureRegion>();
private HashMap<Fish_Name, TiledTextureRegion> allScoreTextureRegionMap = new HashMap<Fish_Name, TiledTextureRegion>();
private HashMap<Artillery_Rank, TiledTextureRegion> allBulletTextureRegionMap = new HashMap<Artillery_Rank, TiledTextureRegion>();
private HashMap<Artillery_Rank, TiledTextureRegion> allNetTextureRegionMap = new HashMap<Artillery_Rank, TiledTextureRegion>();
private HashMap<Artillery_Operate, TiledTextureRegion> allButtonTextureRegionMap = new HashMap<Artillery_Operate, TiledTextureRegion>();
private HashMap<Integer, TextureRegion> allNumberTextureRegionMap = new HashMap<Integer, TextureRegion>();
private TiledSprite pauseButton;
private ArrayList<FishController> movingFishList = new ArrayList<FishController>();
private ArrayList<BulletSprite> bulletList = new ArrayList<BulletSprite>();
private Font mTimeFont, mScoreFont;
private StrokeFont mWinFont, mLoseFont;
private ChangeableText mCurrentScoreText, mTimeText;
protected boolean mGameRunning = true;
protected boolean mGamePause = false;
private int mScore = 0, mMusicVolume, mSoundVolume, mDifficulty;
private float mTime;
private Texture timeBarTexture, timeBarBackgroundTexture;
private TextureRegion timeBarTextureRegion, timeBarBackgroundTextureRegion;
private Sprite timeBar, timeBarBackground;
private SceneConverter sceneConverter;
private GameSound mSound;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Intent intent=getIntent();
this.mMusicVolume=intent.getIntExtra("musicVolume", 0);
this.mSoundVolume=intent.getIntExtra("soundVolume", 0);
this.mDifficulty=intent.getIntExtra("difficulty", 1);
}
@Override
public Engine onLoadEngine() {
this.mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
return new Engine(new EngineOptions(true, ScreenOrientation.LANDSCAPE,
new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), this.mCamera).setNeedsSound(true).setNeedsMusic(true));
}
@Override
public void onLoadResources() {
mDataBase=new MyDataBaseAdapter(this);
mDataBase.open();
TextureRegionFactory.setAssetBasePath("gfx/");
mBackgroundTextureRegion = TextureRegionCreator.getInstance().createBackgroundTextureRegion(this, mDifficulty);
TextureRegionCreator.getInstance().creatAllMovingFishTextureRegion(allMovingFishTextureRegionMap, this);
TextureRegionCreator.getInstance().creatAllCapturedFishTextureRegion(allCapturedFishTextureRegionMap, this);
TextureRegionCreator.getInstance().creatAllScoreTextureRegion(allScoreTextureRegionMap, this);
artilleryTextureRegion = TextureRegionCreator.getInstance().createArtilleryTextureRegion(this);
TextureRegionCreator.getInstance().creatAllBulletTextureRegion(allBulletTextureRegionMap, this);
TextureRegionCreator.getInstance().createAllButtonTextureRegion(allButtonTextureRegionMap, this);
TextureRegionCreator.getInstance().createAllNetTextureRegion(allNetTextureRegionMap, this);
TextureRegionCreator.getInstance().createAllNumberTextureRegion(allNumberTextureRegionMap, this);
mTimeFont = TextureRegionCreator.getInstance().creatFont(this, 12, Color.WHITE);
mScoreFont =TextureRegionCreator.getInstance().creatFont(this, 20, Color.YELLOW);
mWinFont = TextureRegionCreator.getInstance().createStrokeFont(this,40, Color.RED, 2, Color.WHITE);
mLoseFont = TextureRegionCreator.getInstance().createStrokeFont(this,40, Color.GREEN, 2, Color.WHITE);
returnButtonTextureRegion = TextureRegionCreator.getInstance().createTextureRegion(128, 64, TextureOptions.BILINEAR_PREMULTIPLYALPHA, "back.png", this);
retryButtonTextureRegion = TextureRegionCreator.getInstance().createTextureRegion(128, 64, TextureOptions.BILINEAR_PREMULTIPLYALPHA, "retry.png", this);
pauseButtonTextureRegion = TextureRegionCreator.getInstance().createTiledTextureRegion(128, 32, "pause.png", 4, 1, this);
nextTextureRegion = TextureRegionCreator.getInstance().createTextureRegion(128, 128,TextureOptions.BILINEAR_PREMULTIPLYALPHA, "next.png", this);
soundButtonTextureRegion = TextureRegionCreator.getInstance().createTiledTextureRegion(1024, 512, "sound.png", 2, 1, this );
timeBarTexture = new Texture(256, 32, TextureOptions.DEFAULT);
this.timeBarTextureRegion = TextureRegionFactory.createFromAsset(this.timeBarTexture, this, "timebar.png", 0, 0);
this.timeBarBackgroundTexture = new Texture(256, 32, TextureOptions.DEFAULT);
this.timeBarBackgroundTextureRegion = TextureRegionFactory.createFromAsset(this.timeBarBackgroundTexture, this, "timebarbackground.png", 0, 0);
this.mEngine.getTextureManager().loadTextures(this.timeBarTexture, this.timeBarBackgroundTexture);
mSound = SceneConverter.initialGameSound(this, mMusicVolume, mSoundVolume);
}
@Override
public Scene onLoadScene() {
this.mEngine.registerUpdateHandler(new FPSLogger());
mScene = new Scene(1);
for(int i = 0; i < LAYER_COUNT; i++) {
mScene.attachChild(new Entity());
}
mScene.setBackgroundEnabled(false);
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
android捕鱼达人-andengine源码 (344个子文件)
resources.ap_ 9.08MB
FishJoy_final.apk 9.71MB
proguard.cfg 1KB
FishJoy.class 16KB
TextureRegionCreator.class 12KB
SceneConverter.class 11KB
FishFactory.class 11KB
FishOperation.class 8KB
ArtilleryController.class 7KB
FishController.class 6KB
SceneMonitor.class 6KB
BulletSprite.class 5KB
Billboard.class 5KB
ScoringOperation.class 5KB
Matrix.class 4KB
ModelInformationController.class 4KB
MyDataBaseAdapter.class 4KB
CapturedProbability.class 3KB
SceneConverter$4.class 3KB
ArtillerySprite.class 3KB
FishJoy$1.class 3KB
FishJoy$4.class 3KB
GameSound.class 3KB
MainMenu.class 3KB
ArtilleryController$1.class 3KB
SceneConverter$4$1.class 2KB
ArtilleryOperation.class 2KB
Systemsetting.class 2KB
SceneConverter$2.class 2KB
SceneConverter$3.class 2KB
SceneConverter$1.class 2KB
FishJoy$5.class 2KB
BulletSprite$1.class 2KB
FishController$1$1.class 2KB
ImageAdapter.class 2KB
FishController$1.class 2KB
SubMenuForGame.class 2KB
BulletSprite$1$1.class 2KB
FishJoy$3.class 2KB
ScoringOperation$1.class 2KB
R$id.class 2KB
IFishInformation.class 2KB
FishJoy$2.class 1KB
Billboard$1.class 1KB
Systemsetting$2.class 1KB
Systemsetting$1.class 1KB
ScoringOperation$1$1.class 1KB
Systemsetting$3.class 1KB
About.class 1KB
SubMenuForGame$4.class 1KB
SubMenuForGame$3.class 1KB
SubMenuForGame$2.class 1KB
MyDataBaseAdapter$DatabaseHelper.class 1KB
SubMenuForGame$1.class 1KB
Billboard$ComparatorUser.class 1KB
GameEnum$Artillery_Rank.class 1KB
About$1.class 1KB
MainMenu$2.class 1KB
MainMenu$4.class 1KB
MainMenu$1.class 1KB
GameEnum$Fish_Name.class 1KB
MainMenu$6.class 1KB
MainMenu$3.class 1KB
Billboard$User.class 1KB
Help.class 1KB
GameEnum$Edge_Position.class 1KB
IBulletInformation.class 1KB
GameEnum$Fish_Group_Way.class 1KB
GameEnum$Fish_Move.class 1KB
GameEnum$Move_Direction.class 1KB
GameEnum$Fish_State.class 1KB
GameEnum$Artillery_Operate.class 1KB
GameEnum$Game_Rank.class 1KB
IEntityInformation.class 1KB
R$drawable.class 1KB
SceneConverter$4$2.class 1KB
Help$1.class 1KB
GameConstants.class 1017B
IGameInformation.class 980B
ICapturedFishInformation.class 950B
Timer.class 940B
IArtilleryInformation.class 876B
MainMenu$5.class 855B
IScoreInformation.class 811B
GameEnum.class 732B
PufferFishInformation.class 721B
ClownFishInformation.class 720B
TortoiseInformation.class 719B
SardineInformation.class 709B
SharkInformation.class 701B
R$layout.class 609B
R.class 593B
Artillery4Information.class 578B
Artillery5Information.class 578B
Artillery1Information.class 578B
Artillery3Information.class 578B
Artillery2Information.class 578B
Bullet1Information.class 555B
Bullet3Information.class 554B
Bullet2Information.class 554B
共 344 条
- 1
- 2
- 3
- 4
shenshengdu
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页