Back to project page ssniper-andengine.
The source code is released under:
Apache License
If you think the Android project ssniper-andengine listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.cladophora.ssniper.entity; //from ww w . jav a2 s . com import com.cladophora.ssniper.BaseActivity; import com.cladophora.ssniper.HUDManager; import com.cladophora.ssniper.SpriteManager; import com.cladophora.ssniper.scene.GameScene; import org.andengine.entity.primitive.Rectangle; import org.andengine.entity.sprite.Sprite; import org.andengine.opengl.vbo.VertexBufferObjectManager; import org.andengine.util.color.Color; public class Item { public Rectangle hitBox; public Sprite sprite; public BaseActivity activity; public int itemType; public float width; public float height; private VertexBufferObjectManager vbom; public Item() { activity = BaseActivity.getSharedInstance(); vbom = activity.getVertexBufferObjectManager(); init(); } public void setItemType(int n) { itemType = n; } public void initializeSprite() { switch (itemType) { case 1: sprite = new Sprite(0, 0, SpriteManager.mCashTR, vbom); sprite.setScaleCenter(0,0); sprite.detachSelf(); sprite.setScale(GameScene.itemScale * 1.2f); break; case 2: sprite = new Sprite(0, 0, SpriteManager.mMedkitTR, vbom); sprite.setScaleCenter(0,0); sprite.detachSelf(); sprite.setScale(GameScene.itemScale * 0.50f); break; case 3: sprite = new Sprite(0, 0, SpriteManager.mAmmoTR, vbom); sprite.setScaleCenter(0, 0); sprite.detachSelf(); sprite.setScale(GameScene.itemScale * 0.50f); break; case 4: sprite = new Sprite(0, 0, SpriteManager.mBCaseTR, vbom); sprite.setScaleCenter(0, 0); sprite.detachSelf(); sprite.setScale(GameScene.itemScale * 1.50f); break; } } public void initializeHitBoxes() { width = sprite.getWidthScaled(); height = sprite.getHeightScaled(); hitBox = new Rectangle(0, 0, width, height, vbom); hitBox.setScaleCenter(0, 0); hitBox.detachSelf(); hitBox.setColor(Color.TRANSPARENT); } /* method for initializing a new instance used by constructor and pool class */ public void init() { } public void setPosition(float x1, float y1) { sprite.setPosition(x1, y1); hitBox.setPosition(x1, y1); } public void clean() { hitBox.detachSelf(); sprite.detachSelf(); hitBox.clearEntityModifiers(); hitBox.clearUpdateHandlers(); sprite.clearEntityModifiers(); sprite.clearUpdateHandlers(); } public static boolean isHit(Item item) { if (Reticle.center.collidesWith(item.hitBox)) { if (item.itemType == 3) { Rifle.roundsLeft = Rifle.roundsLeft + 5; } else if (item.itemType == 2) { GameScene.setHP(GameScene.playerHP + 1); } else if (item.itemType == 1) { GameScene.cash = GameScene.cash + 10000; HUDManager.updateCashCount(); } else if (item.itemType == 4) { GameScene.cash = GameScene.cash + 1000000; HUDManager.updateCashCount(); } item.clean(); return true; } else { return false; } } }