package com.sordid.particly;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Random;
import javax.microedition.khronos.opengles.GL10;
import org.anddev.andengine.audio.sound.Sound;
import org.anddev.andengine.engine.Engine;
import org.anddev.andengine.engine.camera.BoundCamera;
import org.anddev.andengine.engine.handler.IUpdateHandler;
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.layer.tiled.tmx.TMXLayer;
import org.anddev.andengine.entity.layer.tiled.tmx.TMXLoader;
import org.anddev.andengine.entity.layer.tiled.tmx.TMXObject;
import org.anddev.andengine.entity.layer.tiled.tmx.TMXObjectGroup;
import org.anddev.andengine.entity.layer.tiled.tmx.TMXTiledMap;
import org.anddev.andengine.entity.layer.tiled.tmx.util.exception.TMXLoadException;
import org.anddev.andengine.entity.particle.ParticleSystem;
import org.anddev.andengine.entity.primitive.Line;
import org.anddev.andengine.entity.scene.Scene;
import org.anddev.andengine.entity.scene.Scene.IOnSceneTouchListener;
import org.anddev.andengine.entity.scene.menu.MenuScene;
import org.anddev.andengine.entity.scene.menu.MenuScene.IOnMenuItemClickListener;
import org.anddev.andengine.entity.scene.menu.item.AnimatedSpriteMenuItem;
import org.anddev.andengine.entity.scene.menu.item.IMenuItem;
import org.anddev.andengine.entity.scene.menu.item.SpriteMenuItem;
import org.anddev.andengine.entity.sprite.AnimatedSprite;
import org.anddev.andengine.entity.sprite.Sprite;
import org.anddev.andengine.extension.physics.box2d.PhysicsFactory;
import org.anddev.andengine.extension.physics.box2d.util.Vector2Pool;
import org.anddev.andengine.input.touch.TouchEvent;
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 android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.KeyEvent;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.physics.box2d.Body;
import com.badlogic.gdx.physics.box2d.ContactListener;
import com.badlogic.gdx.physics.box2d.FixtureDef;
import com.sordid.particly.ParallaxBackground2d.ParallaxBackground2dEntity;
public class ParticlyActivity extends BaseGameActivity implements IOnSceneTouchListener,IOnMenuItemClickListener {
public static final boolean DEBUG = false;
public static final int CAMERA_WIDTH = 720;
public static final int CAMERA_HEIGHT = 480;
private static final int DIALOG_INTRO_1 = 0;
private static final int DIALOG_INTRO_2 = 1;
private static final float SCALE_FACTOR = 0.1f;
private static final int MENU_WIN = 0;
private static final int MENU_NEXT = 1;
private static final int MENU_RESET = 2;
private static final int MENU_SELECT = 3;
private static final int MENU_SOUND = 4;
public static final int STATE_STOPPED = 1;
public static final int STATE_RUNNING = 2;
public static final int STATE_OVER = 4;
public static final int STATE_MENU = 8;
// Item list
private static final short WALL = 1;
private static final short OBJECT = 2;
private static final short MASK = WALL+OBJECT;
// Fixtures
public static final FixtureDef STATIC_FIXTURE_DEF = PhysicsFactory.createFixtureDef(1, 0.0f, 0.5f, false, WALL, MASK, (short)0);
public static final FixtureDef STATIC_GOAL_FIXTURE_DEF = PhysicsFactory.createFixtureDef(0, 0f, 10f, true, WALL, MASK, (short)0);
public static final FixtureDef OBJECT_FIXTURE_DEF = PhysicsFactory.createFixtureDef(1, 0.7f, 0.4f, false, OBJECT, MASK, (short)0);
public static final FixtureDef OBJECT_LEVEL_FIXTURE_DEF = PhysicsFactory.createFixtureDef(0.2f, 0.1f, 0.4f, false, OBJECT, MASK, (short)0);
// Variables for performance
private Line mLine;
// General variables
private float mLastVelocity = 0.0f;
private ContactListener mContactListener;
public static HashMap<String,TextureRegion> sTextures;
public static HashMap<String,TiledTextureRegion> sTiledTextures;
public static ArrayList<Texture> sTextureHolders;
public static Sound[] sHitVoiceSounds;
public static Sound[] sHitSounds;
public static Sound[] sWinSounds;
public static Sound[] sLoseSounds;
public ArrayList<ParticleSystem> mParticleSystems;
public HashMap<String,Teleporter> mTeleports;
private CustomMenuScene mMenuScene;
private Texture mTexture;
private TextureRegion mParallaxLayerBack;
private TextureRegion mParallaxLayerMid;
private TextureRegion mParallaxLayerFront;
public BoundCamera mCamera;
public AnimatedSprite mBall;
public Random mRandom = new Random();
private Sprite mArrow;
public Body mBallBody;
private ParallaxBackground2d mBackground;
private TMXTiledMap mTMXTiledMap;
public Scene mScene;
private int mLevel = 0;
private int mLevels = 0;
private int mChapter = 0;
public boolean mSound = true;
public HashMap<String,Vector2> mPaths;
public MaxStepPhysicsWorld mPhysicsWorld;
private int mState = STATE_STOPPED;
private boolean mDragReady = false;
private boolean mCanSeeMap = true;
private float mLastScrollX = 0;
private float mLastScrollY = 0;
private int mAttempts = 0;
private long mTime = 0;
public final HashMap<Integer,Boolean>mWayPoints = new HashMap<Integer,Boolean>();
private Vector2 mGravityVector = new Vector2(0, SensorManager.GRAVITY_EARTH);
private boolean mPaused = false;
public static final long[] ANIMATION_DEFAULT = new long[]{3000,150,0};
public static final long[] ANIMATION_CONTACT = new long[]{0,0,1000};
public static Stats sStats;
public Handler data = new Handler(){
@Override
public void handleMessage(Message msg) {
new StatsTask().execute(ParticlyActivity.sStats, getApplicationContext());
}
};
public IUpdateHandler ballUpdateHandler = new IUpdateHandler(){
@SuppressWarnings("unchecked")
@Override
public void onUpdate(float pSecondsElapsed) {
mCamera.onUpdate(1.0f);
mBackground.setParallaxValue(mCamera.getCenterX(), mCamera.getCenterY());
final Body connected = mPhysicsWorld.getPhysicsConnectorManager().findBodyByShape(mBall);
if(connected != null) {
final Vector2 v = connected.getLinearVelocity();
if(mLastVelocity <= 0.5f && Math.abs(v.y) <= 0.5f && v.x != 0.0f) {
connected.setLinearDamping(2.0f);
} else {
connected.setLinearDamping(0.0f);
}
mLastVelocity = Math.abs(v.y);
if(mLine != null) {
mLine.setPosition(mBall.getX()+(mBall.getWidth()/2), mBall.getY()+(mBall.getHeight()/2), mLine.getX2(), mLine.getY2());
}
if(mBall.getX() > mCamera.getBoundsWidth()+50 || mBall.getX() < -100 || mBall.getY() > mCamera.getBoundsHeight()+50) {
gameOver();
} else if(mBall.getY() < -100) {
mArrow.setVisible(true);
mArrow.setPosition(mBall.getX(), -100);
} else {
mArrow.setVisible(false);
}
}
final HashMap<String,String> userData = (HashMap<String, String>) mBall.getUserData();
if(userData.containsKey("teleport")) {
final Teleporter teleporter = mTeleports.get(userData.get("teleport"));
Body body = mPhysicsWorld.getPhysicsConnectorManager().findBodyByShape(mBall);
body.setTransform(teleporter.getVector(), 0.0f);
userData.remove("teleport");
mBall.setUserDat
没有合适的资源?快使用搜索试试~ 我知道了~
Android 游戏源代码 Particly(含截图)
共142个文件
tmx:42个
png:38个
ogg:21个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 39 浏览量
2022-06-23
08:32:49
上传
评论
收藏 2.57MB RAR 举报
温馨提示
Android 游戏源代码 Particly(含截图)Android 游戏源代码 Particly(含截图)Android 游戏源代码 Particly(含截图)Android 游戏源代码 Particly(含截图)Android 游戏源代码 Particly(含截图)Android 游戏源代码 Particly(含截图)Android 游戏源代码 Particly(含截图)Android 游戏源代码 Particly(含截图)Android 游戏源代码 Particly(含截图)Android 游戏源代码 Particly(含截图)Android 游戏源代码 Particly(含截图)Android 游戏源代码 Particly(含截图)Android 游戏源代码 Particly(含截图)Android 游戏源代码 Particly(含截图)Android 游戏源代码 Particly(含截图)Android 游戏源代码 Particly(含截图)Android 游戏源代码 Particly(含截图)Android 游戏源代码 Particly(含截图)Android 游戏源代码
资源推荐
资源详情
资源评论
收起资源包目录
Android 游戏源代码 Particly(含截图) (142个子文件)
.classpath 421B
andengine.jar 514KB
andenginephysicsbox2dextension.jar 141KB
ParticlyActivity.java 28KB
Entities.java 12KB
Emitters.java 9KB
CustomMenuScene.java 6KB
LoadingScreen.java 6KB
LevelSelect.java 5KB
Stats.java 5KB
ParallaxBackground2d.java 5KB
CustomMenuAnimator.java 5KB
WorldContact.java 4KB
R.java 3KB
LevelView.java 2KB
ChapterView.java 2KB
ChapterSelect.java 2KB
Teleporter.java 1KB
LinkedSprite.java 1KB
MaxStepPhysicsWorld.java 1KB
Slog.java 488B
StatsTask.java 311B
readme.markdown 750B
lose1.ogg 20KB
win4.ogg 19KB
win8.ogg 19KB
win3.ogg 19KB
lose2.ogg 19KB
lose3.ogg 19KB
lose4.ogg 18KB
win5.ogg 18KB
win6.ogg 17KB
win2.ogg 16KB
win7.ogg 16KB
win1.ogg 16KB
grunt1.ogg 13KB
hitvoice4.ogg 9KB
hit2.ogg 9KB
hitvoice1.ogg 9KB
hitvoice3.ogg 8KB
hitvoice2.ogg 8KB
hit1.ogg 6KB
hit3.ogg 6KB
hit4.ogg 6KB
loading.png 348KB
levelselect.png 225KB
levelselect.png 219KB
front.png 159KB
front.png 157KB
mid.png 75KB
mid.png 40KB
back.png 38KB
back.png 30KB
Grass.png 16KB
menu_sound.png 15KB
vertical3.png 13KB
horizontal3.png 13KB
menu_win.png 12KB
vertical2.png 12KB
horizontal2.png 12KB
icon.png 10KB
Goals.png 7KB
vertical.png 6KB
horizontal.png 6KB
menu_select.png 5KB
large_star_glow.png 5KB
large_star_glow.png 5KB
menu_reset.png 5KB
menu_next.png 5KB
dude.png 5KB
icon.png 4KB
button_back.png 2KB
large_star.png 2KB
icon.png 2KB
metal2.png 2KB
metal_vert.png 2KB
particle_waypoint.png 995B
particle_launcher.png 785B
particle_point.png 768B
star_glow.png 533B
arrow.png 514B
star.png 445B
.project 811B
project.properties 360B
libxmp.so 426KB
libandenginephysicsbox2dextension.so 255KB
Level14.tmx 5KB
Level6.tmx 5KB
Level7.tmx 5KB
Level8.tmx 4KB
Level27.tmx 4KB
Level4.tmx 4KB
Level1.tmx 4KB
Level26.tmx 4KB
Level21.tmx 3KB
Level11.tmx 3KB
Level9.tmx 3KB
Level25.tmx 3KB
Level13.tmx 3KB
Level3.tmx 3KB
共 142 条
- 1
- 2
资源评论
金枝玉叶9
- 粉丝: 124
- 资源: 7640
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功