Android Open Source - android-gear Java Sprite Sheet






From Project

Back to project page android-gear.

License

The source code is released under:

MIT License

If you think the Android project android-gear 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 com.androidgear.core.graphics;
//  w  w w  .  ja  va  2s . c o m
import java.awt.image.BufferedImage;
import java.util.ArrayList;
import java.util.List;

public class JavaSpriteSheet implements SpriteSheet {

    private int spriteWidth, spriteHeight, fps, startingIndex, finalIndex,
            currentIndex;
    private int deltaCounter, milisRate;
    private List<Image> sprites = new ArrayList<Image>();

    public JavaSpriteSheet(BufferedImage image, int columns, int rows) {
        startingIndex = 0;
        this.spriteWidth = image.getWidth() / columns;
        this.spriteHeight = image.getHeight() / rows;
        deltaCounter = 0;

        for (int r = 0; r < rows; r++) {
            for (int c = 0; c < columns; c++) {
                BufferedImage sprite = image.getSubimage(c * spriteWidth, r
                        * spriteHeight, spriteWidth, spriteHeight);
                JavaImage javaImage = new JavaImage(sprite);
                sprites.add(javaImage);
            }
        }
        finalIndex = sprites.size();

    }

    @Override
    public void setFramesPerSecond(int fps) {
        this.fps = fps;
        this.milisRate = 1000 / fps;
    }

    @Override
    public int getFramesPerSecond() {
        return fps;
    }

    @Override
    public void update(long delta) {
        if (deltaCounter >= milisRate) {
            if (currentIndex + 1 < finalIndex) {
                currentIndex++;
            } else {
                currentIndex = startingIndex;
            }
            deltaCounter = 0;
        }
        deltaCounter += delta;
    }

    @Override
    public Image currentFrame() {
        return sprites.get(currentIndex);
    }

    @Override
    public void drawCurrentFrame(Graphics graphics, float x, float y) {
        graphics.drawImage(sprites.get(currentIndex), x, y);
    }

    @Override
    public void setStartFrameIndex(int index) {
        this.startingIndex = index;
        if (index < currentIndex) {
            currentIndex = index;
        }
    }

    @Override
    public void setEndFrameIndex(int index) {
        this.finalIndex = index;
        if (index > finalIndex) {
            finalIndex = index;
        }
    }
}




Java Source Code List

com.androidgear.core.AbstractAndroidGearActivity.java
com.androidgear.core.AndroidGameLoop.java
com.androidgear.core.AndroidGearCommands.java
com.androidgear.core.Game.java
com.androidgear.core.GearCommands.java
com.androidgear.core.JavaGameLoop.java
com.androidgear.core.JavaGearCommands.java
com.androidgear.core.asset.AndroidAssetLoader.java
com.androidgear.core.asset.AssetLoader.java
com.androidgear.core.asset.AssetManager.java
com.androidgear.core.asset.AssetNotFoundException.java
com.androidgear.core.asset.JavaAssetLoader.java
com.androidgear.core.config.JavaConfig.java
com.androidgear.core.dialog.AndroidDialogFactory.java
com.androidgear.core.dialog.AndroidDialog.java
com.androidgear.core.dialog.DialogButtonListener.java
com.androidgear.core.dialog.DialogFactory.java
com.androidgear.core.dialog.Dialog.java
com.androidgear.core.dialog.JavaDialogFactory.java
com.androidgear.core.dialog.JavaDialog.java
com.androidgear.core.graphics.AndroidGraphics.java
com.androidgear.core.graphics.AndroidImage.java
com.androidgear.core.graphics.AndroidSpriteSheet.java
com.androidgear.core.graphics.Font.java
com.androidgear.core.graphics.Graphics.java
com.androidgear.core.graphics.Image.java
com.androidgear.core.graphics.JavaGraphics.java
com.androidgear.core.graphics.JavaImage.java
com.androidgear.core.graphics.JavaSpriteSheet.java
com.androidgear.core.graphics.SpriteSheet.java
com.androidgear.core.sound.AndroidSound.java
com.androidgear.core.sound.JavaSound.java
com.androidgear.core.sound.Sound.java
com.androidgear.core.window.JavaGameWindow.java
com.androidgear.core.window.JavaSimpleWindow.java
com.androidgear.core.window.JavaSimulatorWindow.java
com.androidgear.samples.JavaSampleGame.java
com.androidgear.samples.SampleGameActivity.java
com.androidgear.samples.core.SampleGame.java
${package}.__GameClass__Activity.java
${package}.Java__GameClass__.java
${package}.core.__GameClass__.java