Android Open Source - BulletsForever Draw Bitmap Loader






From Project

Back to project page BulletsForever.

License

The source code is released under:

GNU General Public License

If you think the Android project BulletsForever 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.bulletsforever.bullets;
/*from ww w  . j ava2  s  . c o m*/
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.SparseArray;

/**
 * This is for storing bitmap images
 * This should be instantiated by DrawWorld's initializer
 * Only a single instance should exist per GameMain instance
 */
public class DrawBitmapLoader {

  private Resources res;
  private SparseArray<Bitmap> bitmaps; 
  
  public DrawBitmapLoader(Context c) {
    res = c.getResources();
    bitmaps = new SparseArray<Bitmap>();
  }
  
  // Get a Bitmap to draw
  // Note: do not try to load the same image resource with different dimensions
  public Bitmap getBitmap(int id, float halfWidth, float halfHeight) {
    Bitmap b = bitmaps.get(id);
    if (b == null) {
      b = Bitmap.createScaledBitmap(
          BitmapFactory.decodeResource(res, id),
          (int)(halfWidth * 2), (int)(halfHeight * 2),
          true
          );
      bitmaps.put(id, b);
    }
    return b;
  }
  
  // Call this on game exit
  public void onDestroy() {
    //for (Bitmap b : bitmaps) { // SparseArray does not implement Iterable interface
    for (int i = 0; i < bitmaps.size(); i++) {
      bitmaps.valueAt(i).recycle(); // Manually call cause GC's stupid
    }
    bitmaps.clear();
  }
}




Java Source Code List

com.bulletsforever.bullets.AudioMusicPlayer.java
com.bulletsforever.bullets.AudioSoundPool.java
com.bulletsforever.bullets.DrawBitmapLoader.java
com.bulletsforever.bullets.DrawKeyHandler.java
com.bulletsforever.bullets.DrawObjectBackground.java
com.bulletsforever.bullets.DrawObjectBoss.java
com.bulletsforever.bullets.DrawObjectBullet.java
com.bulletsforever.bullets.DrawObjectDynamicArm.java
com.bulletsforever.bullets.DrawObjectDynamicBoss.java
com.bulletsforever.bullets.DrawObjectHUD.java
com.bulletsforever.bullets.DrawObjectPlayer.java
com.bulletsforever.bullets.DrawObject.java
com.bulletsforever.bullets.DrawRefreshHandler.java
com.bulletsforever.bullets.DrawTouchHandler.java
com.bulletsforever.bullets.DrawWorld.java
com.bulletsforever.bullets.GameMain.java
com.bulletsforever.bullets.GameScore.java
com.bulletsforever.bullets.MenuHome.java
com.bulletsforever.bullets.MenuSettings.java
com.bulletsforever.bullets.Settings.java
com.bulletsforever.bullets.ToolsFPSCounter.java
com.bulletsforever.bullets.ToolsRandomizer.java
com.bulletsforever.bullets.ToolsScoreboard.java
com.bulletsforever.bullets.ToolsTracker.java
com.bulletsforever.bullets.ToolsVibrator.java