package org.andengine.entity;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import org.andengine.engine.camera.Camera;
import org.andengine.engine.handler.IUpdateHandler;
import org.andengine.engine.handler.UpdateHandlerList;
import org.andengine.entity.modifier.EntityModifierList;
import org.andengine.entity.modifier.IEntityModifier;
import org.andengine.entity.modifier.IEntityModifier.IEntityModifierMatcher;
import org.andengine.opengl.util.GLState;
import org.andengine.util.Constants;
import org.andengine.util.adt.list.ListUtils;
import org.andengine.util.adt.list.SmartList;
import org.andengine.util.adt.transformation.Transformation;
import org.andengine.util.call.ParameterCallable;
import org.andengine.util.color.Color;
/**
* (c) 2010 Nicolas Gramlich
* (c) 2011 Zynga Inc.
*
* @author Nicolas Gramlich
* @since 12:00:48 - 08.03.2010
*/
public class Entity implements IEntity {
// ===========================================================
// Constants
// ===========================================================
private static final int CHILDREN_CAPACITY_DEFAULT = 4;
private static final int ENTITYMODIFIERS_CAPACITY_DEFAULT = 4;
private static final int UPDATEHANDLERS_CAPACITY_DEFAULT = 4;
private static final float[] VERTICES_SCENE_TO_LOCAL_TMP = new float[2];
private static final float[] VERTICES_LOCAL_TO_SCENE_TMP = new float[2];
private static final ParameterCallable<IEntity> PARAMETERCALLABLE_DETACHCHILD = new ParameterCallable<IEntity>() {
@Override
public void call(final IEntity pEntity) {
pEntity.setParent(null);
pEntity.onDetached();
}
};
// ===========================================================
// Fields
// ===========================================================
protected boolean mDisposed;
protected boolean mVisible = true;
protected boolean mCullingEnabled;
protected boolean mIgnoreUpdate;
protected boolean mChildrenVisible = true;
protected boolean mChildrenIgnoreUpdate;
protected boolean mChildrenSortPending;
protected int mZIndex = 0;
private IEntity mParent;
protected SmartList<IEntity> mChildren;
private EntityModifierList mEntityModifiers;
private UpdateHandlerList mUpdateHandlers;
protected Color mColor = new Color(1, 1, 1, 1);
protected float mX;
protected float mY;
private final float mInitialX;
private final float mInitialY;
protected float mRotation = 0;
protected float mRotationCenterX = 0;
protected float mRotationCenterY = 0;
protected float mScaleX = 1;
protected float mScaleY = 1;
protected float mScaleCenterX = 0;
protected float mScaleCenterY = 0;
protected float mSkewX = 0;
protected float mSkewY = 0;
protected float mSkewCenterX = 0;
protected float mSkewCenterY = 0;
private boolean mLocalToParentTransformationDirty = true;
private boolean mParentToLocalTransformationDirty = true;
private final Transformation mLocalToParentTransformation = new Transformation();
private final Transformation mParentToLocalTransformation = new Transformation();
private final Transformation mLocalToSceneTransformation = new Transformation();
private final Transformation mSceneToLocalTransformation = new Transformation();
private Object mUserData;
// ===========================================================
// Constructors
// ===========================================================
public Entity() {
this(0, 0);
}
public Entity(final float pX, final float pY) {
this.mInitialX = pX;
this.mInitialY = pY;
this.mX = pX;
this.mY = pY;
}
// ===========================================================
// Getter & Setter
// ===========================================================
// ===========================================================
// Methods for/from SuperClass/Interfaces
// ===========================================================
protected void onUpdateColor() {
}
@Override
public boolean isDisposed() {
return this.mDisposed;
}
@Override
public boolean isVisible() {
return this.mVisible;
}
@Override
public void setVisible(final boolean pVisible) {
this.mVisible = pVisible;
}
@Override
public boolean isCullingEnabled() {
return this.mCullingEnabled;
}
@Override
public void setCullingEnabled(final boolean pCullingEnabled) {
this.mCullingEnabled = pCullingEnabled;
}
@Override
public boolean isCulled(final Camera pCamera) {
return false;
}
@Override
public boolean isChildrenVisible() {
return this.mChildrenVisible;
}
@Override
public void setChildrenVisible(final boolean pChildrenVisible) {
this.mChildrenVisible = pChildrenVisible;
}
@Override
public boolean isIgnoreUpdate() {
return this.mIgnoreUpdate;
}
@Override
public void setIgnoreUpdate(final boolean pIgnoreUpdate) {
this.mIgnoreUpdate = pIgnoreUpdate;
}
@Override
public boolean isChildrenIgnoreUpdate() {
return this.mChildrenIgnoreUpdate;
}
@Override
public void setChildrenIgnoreUpdate(final boolean pChildrenIgnoreUpdate) {
this.mChildrenIgnoreUpdate = pChildrenIgnoreUpdate;
}
@Override
public boolean hasParent() {
return this.mParent != null;
}
@Override
public IEntity getParent() {
return this.mParent;
}
@Override
public void setParent(final IEntity pEntity) {
this.mParent = pEntity;
}
@Override
public int getZIndex() {
return this.mZIndex;
}
@Override
public void setZIndex(final int pZIndex) {
this.mZIndex = pZIndex;
}
@Override
public float getX() {
return this.mX;
}
@Override
public float getY() {
return this.mY;
}
@Override
public void setX(final float pX) {
this.mX = pX;
this.mLocalToParentTransformationDirty = true;
this.mParentToLocalTransformationDirty = true;
}
@Override
public void setY(final float pY) {
this.mY = pY;
this.mLocalToParentTransformationDirty = true;
this.mParentToLocalTransformationDirty = true;
}
@Override
public float getInitialX() {
return this.mInitialX;
}
@Override
public float getInitialY() {
return this.mInitialY;
}
@Override
public void setPosition(final IEntity pOtherEntity) {
this.setPosition(pOtherEntity.getX(), pOtherEntity.getY());
}
@Override
public void setPosition(final float pX, final float pY) {
this.mX = pX;
this.mY = pY;
this.mLocalToParentTransformationDirty = true;
this.mParentToLocalTransformationDirty = true;
}
@Override
public void setInitialPosition() {
this.mX = this.mInitialX;
this.mY = this.mInitialY;
this.mLocalToParentTransformationDirty = true;
this.mParentToLocalTransformationDirty = true;
}
@Override
public float getRotation() {
return this.mRotation;
}
@Override
public boolean isRotated() {
return this.mRotation != 0;
}
@Override
public void setRotation(final float pRotation) {
this.mRotation = pRotation;
this.mLocalToParentTransformationDirty = true;
this.mParentToLocalTransformationDirty = true;
}
@Override
public float getRotationCenterX() {
return this.mRotationCenterX;
}
@Override
public float getRotationCenterY() {
return this.mRotationCenterY;
}
@Override
public void setRotationCenterX(final float pRotationCenterX) {
this.mRotationCenterX = pRotationCenterX;
this.mLocalToParentTransformationDirty = true;
this.mParentToLocalTransformationDirty = true;
}
@Override
public void setRotationCenterY(final float pRotationCenterY) {
this.mRotationCenterY = pRotationCenterY;
this.mLocalToParentTransformationDirty = true;
this.mParentToLocalTransformationDirty = true;
}
@Override
public void setRotationCenter(final float pRotationCenterX, final float pRotationCenterY) {
this.mRotationCenterX = pRotationCenterX;
this.mRotationCenterY = pRotationCenterY;
this.mLocalToParentTransformationDirty = true;
this.mParentToLocalTransformationDirty = true;
}
@Override
public boolean isScaled() {
return (this.mScaleX != 1) || (this.mScaleY != 1);
}
@Override
public float getScaleX() {
return this.mScaleX;
没有合适的资源?快使用搜索试试~ 我知道了~
Android 游戏源代码 BlockBreaker(含截图)
共654个文件
java:628个
png:6个
xml:5个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 85 浏览量
2022-06-23
08:30:50
上传
评论
收藏 1.69MB RAR 举报
温馨提示
Android 游戏源代码 BlockBreaker(含截图)Android 游戏源代码 BlockBreaker(含截图)Android 游戏源代码 BlockBreaker(含截图)Android 游戏源代码 BlockBreaker(含截图)Android 游戏源代码 BlockBreaker(含截图)Android 游戏源代码 BlockBreaker(含截图)Android 游戏源代码 BlockBreaker(含截图)Android 游戏源代码 BlockBreaker(含截图)Android 游戏源代码 BlockBreaker(含截图)Android 游戏源代码 BlockBreaker(含截图)Android 游戏源代码 BlockBreaker(含截图)Android 游戏源代码 BlockBreaker(含截图)Android 游戏源代码 BlockBreaker(含截图)Android 游戏源代码 BlockBreaker(含截图)Android 游戏源代码 BlockBreaker(含截图)Android 游戏源代码 BlockBreaker(含截图)Andr
资源推荐
资源详情
资源评论
收起资源包目录
Android 游戏源代码 BlockBreaker(含截图) (654个子文件)
BlockBreaker.apk 802KB
proguard.cfg 1KB
.classpath 380B
.gitignore 38B
Entity.java 35KB
BitmapFont.java 33KB
BlockBreakerActivity.java 32KB
Engine.java 31KB
SpriteBatch.java 30KB
SVGPathParser.java 28KB
QuadTree.java 26KB
Base64.java 23KB
Camera.java 20KB
GLState.java 19KB
BaseMenuItemDecorator.java 19KB
BaseGameActivity.java 17KB
LowMemorySpriteBatchVertexBufferObject.java 16KB
Scene.java 16KB
AnimatedSprite.java 16KB
HighPerformanceSpriteBatchVertexBufferObject.java 16KB
PVRTexture.java 16KB
SVGBitmapTextureAtlasTextureRegionFactory.java 16KB
Text.java 14KB
IntQuadTree.java 14KB
BlackPawnTextureAtlasBuilder.java 14KB
LevelSceneHandler.java 14KB
RenderTexture.java 14KB
ShaderProgram.java 14KB
FontUtils.java 14KB
FontFactory.java 13KB
BitmapTextureAtlasTextureRegionFactory.java 13KB
SVGPaint.java 13KB
FloatQuadTree.java 13KB
ConfigChooser.java 12KB
TextureManager.java 11KB
Color.java 11KB
SVGHandler.java 11KB
IEntity.java 11KB
Debug.java 11KB
PathModifier.java 11KB
GLHelper.java 11KB
CardinalSplineMoveModifier.java 10KB
Font.java 10KB
ActivityUtils.java 10KB
BitmapTextureAtlas.java 10KB
IntLRUCache.java 10KB
ArrayUtils.java 10KB
AStarPathFinder.java 10KB
PVRCCZTexture.java 10KB
LongSparseArray.java 10KB
Level.java 10KB
LevelGenerator.java 10KB
TiledTextureRegion.java 9KB
ButtonSprite.java 9KB
LRUCache.java 9KB
BuildableTextureAtlas.java 9KB
BitVector.java 9KB
Sprite.java 9KB
SystemUtils.java 9KB
MathUtils.java 9KB
Line.java 9KB
ShiftList.java 9KB
ShapeCollisionChecker.java 9KB
LowMemoryTiledSpriteVertexBufferObject.java 9KB
FileUtils.java 9KB
RectangularShapeCollisionChecker.java 9KB
HighPerformanceTiledSpriteVertexBufferObject.java 9KB
SVGTransformParser.java 8KB
ColorUtils.java 8KB
HoldDetector.java 8KB
Transformation.java 8KB
SVGGradient.java 8KB
GLMatrixStack.java 8KB
BaseOnScreenControl.java 8KB
TiledSprite.java 8KB
ParticleSystem.java 8KB
UniformColorSprite.java 8KB
ZeroMemoryVertexBufferObject.java 8KB
CircularList.java 7KB
BaseBitmapTextureAtlasSourceDecorator.java 7KB
SpriteGroup.java 7KB
StreamUtils.java 7KB
UncoloredSprite.java 7KB
LowMemoryTextVertexBufferObject.java 7KB
PositionTextureCoordinatesPositionInterpolationTextureSelectShaderProgram.java 7KB
HighPerformanceTextVertexBufferObject.java 7KB
TickerText.java 7KB
LinearGradientFillBitmapTextureAtlasSourceDecorator.java 7KB
SAXUtils.java 7KB
DebugTimer.java 6KB
TextureAtlas.java 6KB
BuildableBitmapTextureAtlas.java 6KB
VertexBufferObject.java 6KB
SequenceModifier.java 6KB
SmartPVRTexturePixelBufferStrategy.java 6KB
MenuScene.java 6KB
ColorSwapBitmapTextureAtlasSourceDecorator.java 6KB
RadialGradientFillBitmapTextureAtlasSourceDecorator.java 6KB
LowMemoryUniformColorSpriteVertexBufferObject.java 6KB
CubicBezierCurveMoveModifier.java 6KB
共 654 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
金枝玉叶9
- 粉丝: 124
- 资源: 7640
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功