Android Open Source - TileArena Entity Sprite






From Project

Back to project page TileArena.

License

The source code is released under:

MIT License

If you think the Android project TileArena listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package game.tile.arena.sprite;
//from  w w  w  .j  a  v  a2  s.c  o  m
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Animation;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;

import game.tile.arena.entity.projectile.Projectile;
import game.tile.arena.util.Position;

public class EntitySprite {

    private Position scale;

    private Animation[] animations;
    private int animSpeed;
    private int directionFacing;
    private int count;

    public EntitySprite(String filePrefix, int fps, int size) {
        scale = new Position(size, size);
        animations = new Animation[4];
        animSpeed = fps;
        directionFacing = 0;
        this.loadAnim(filePrefix + "_right.png", 0);
        this.loadAnim(filePrefix + "_up.png", 1);
        this.loadAnim(filePrefix + "_left.png", 2);
        this.loadAnim(filePrefix + "_down.png", 3);
    }

    public void render(SpriteBatch batch, int delta, Position p) {
        count += delta;
        batch.draw(animations[directionFacing].getKeyFrame(count, true), p.x-scale.x/2, p.y-scale.y/2, scale.x, scale.y);
    }

    public void setDirection(int dir) {
        directionFacing = dir;
    }

    private void loadAnim(String file, int dir) {
        Texture texture = new Texture(file);
        int width = texture.getWidth();
        int height = texture.getHeight();
        TextureRegion[] regions = TextureRegion.split(texture, width/(width/height), height)[0];
        animations[dir] = new Animation(animSpeed, regions);
    }

    public void notMoving() {
        count = animSpeed;
    }

    public boolean isCollision(Projectile p, Position pos) {
        return p.pos.x>pos.x && p.pos.y>pos.y && p.pos.x<pos.x+scale.x && p.pos.y<pos.y+scale.y;
    }
}




Java Source Code List

game.tile.arena.Game.java
game.tile.arena.TileArena.java
game.tile.arena.android.AndroidLauncher.java
game.tile.arena.client.HtmlLauncher.java
game.tile.arena.desktop.DesktopLauncher.java
game.tile.arena.entity.Entity.java
game.tile.arena.entity.Player.java
game.tile.arena.entity.attack.AttackBow.java
game.tile.arena.entity.attack.AttackList.java
game.tile.arena.entity.attack.Attack.java
game.tile.arena.entity.enemy.Enemy.java
game.tile.arena.entity.enemy.ai.EnemyAI.java
game.tile.arena.entity.enemy.ai.EnemyDodgeAI.java
game.tile.arena.entity.enemy.ai.EnemyRandomAI.java
game.tile.arena.entity.projectile.LinearProjectile.java
game.tile.arena.entity.projectile.Projectile.java
game.tile.arena.sprite.EntitySprite.java
game.tile.arena.sprite.Image.java
game.tile.arena.util.MathHelper.java
game.tile.arena.util.Position.java
game.tile.arena.util.Preferences.java
game.tile.arena.util.controller.Joystick.java
game.tile.arena.util.controller.KeyboardController.java
game.tile.arena.util.controller.MouseAttackInput.java
game.tile.arena.util.controller.PlayerController.java
game.tile.arena.util.controller.TouchController.java
game.tile.arena.util.input.InputManager.java
game.tile.arena.util.input.JoystickInput.java
game.tile.arena.util.input.KeyboardMoveInput.java
game.tile.arena.util.input.WeaponSwitchInput.java
game.tile.arena.world.Tile.java
game.tile.arena.world.World.java