Android Open Source - balance-it F X Helper






From Project

Back to project page balance-it.

License

The source code is released under:

Apache License

If you think the Android project balance-it 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.example.balanceit;
/*from w w  w .  j a  v  a2s.c o  m*/
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Vibrator;
import android.util.Log;

/**
 * Diese Klasse umfasst Hilfsfunktionen zur Integration von Grafik-, Sound- und Vibrationseffekten, 
 * sowie einige weitere bereits fertig programmierte Hilfsfunktionen fr das Spiel.
 */
public class FXHelper {

    /** ENUM-Typ, der die Art des betreffenden Objekts bzw. Effekts beschreibt */
    enum ObjectType {BOARD, WALL, BALL, TARGET, HOLE };

    // App-Context von Android
    private Context mContext;
  

    //TODO AP Effekte: weitere Membervariablen (Android Manager Klassen fr Sound & Vibrations, IDs fr verschiedene Sounds, Bitmaps fr die Objekte)

    Bitmap mResizedBitmapBall;
    Bitmap mResizedBitmapHole;
    Bitmap mResizedBitmapTarget;
    Bitmap mResizedBitmapBackground;

  
    private Vibrator mV;
/** Konstruktor
     * @param context Kontext der Android-Activity
     */ 
    FXHelper(Context context) {
      mContext=context;
      
      //TODO AP Effekte: Membervariablen anlegen, Managerklassen vom System holen, Sounds laden
      mContext = context;
      mV = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
    }
 
    /** lse Vibration aus
     * @param durationInMs Dauer in ms
     */
    public void vibrate(int durationInMs){
      //TODO AP Effekte: Vibrationseffekt auslsen
       mV.vibrate(50);

    }

    /**spiele Soundeffekt ab
     * @param type Typ des Objekts, das den Soundeffekt auslst
     */
    public void playSound(ObjectType type){
      //TODO AP Effekte: Sound fr den entsprechenden Objekttyp abspielen
    }

    /** lade und initialisiere alle Bitmaps (das kann noch nicht im Konstruktor passieren, da die Screen-Gre beim Konstruktoraufruf noch nicht bekannt ist)
     * @param screenWidth Spielfeldbreite
     * @param screenHeight Spielfeldhhr
     * @param tileSize Kachelgre
     * @param ballRadius Radius der Spielkugel
     */
    public void initBitmaps(int screenWidth, int screenHeight, int tileSize, int ballRadius){
      //TODO AP Effekte: die Bitmaps fr die verschiedenen Spielobjekte (Hindernis, Zielbereich, Spielkugel, Hintergrund) einlesen
      // auf die richtige Gre (abhngig von Bildschirm-& Kachelgre) skalieren und in Membervariablen zwischenspeichern    
      Bitmap bitmapBall = BitmapFactory.decodeResource(mContext.getResources(),R.drawable.ball);
      Bitmap bitmapHole = BitmapFactory.decodeResource(mContext.getResources(),R.drawable.hole2);
      Bitmap bitmapTarget = BitmapFactory.decodeResource(mContext.getResources(),R.drawable.grill);
      Bitmap bitmapBackground = BitmapFactory.decodeResource(mContext.getResources(),R.drawable.wood1);
      mResizedBitmapBall = Bitmap.createScaledBitmap(bitmapBall, 2*ballRadius, 2*ballRadius, false);
      mResizedBitmapHole = Bitmap.createScaledBitmap(bitmapHole, tileSize, tileSize, false);
      mResizedBitmapTarget = Bitmap.createScaledBitmap(bitmapTarget, tileSize, tileSize, false);
      mResizedBitmapBackground = Bitmap.createScaledBitmap(bitmapBackground, screenWidth, screenHeight, false);
    }

    /** Zugriff auf die Bitmap eines Objekts
     * @param type Typ des Objekts, fr das die Bitmap zurckgegeben wird
     * @return Bitmap
     */
    public Bitmap getBitmap(ObjectType type){
      //TODO AP Effekte: die passende Bitmap fr das Objekt zurckgeben
      if(type == ObjectType.BOARD) {
        return mResizedBitmapBackground;
      }
      if(type == ObjectType.HOLE) {
        return mResizedBitmapHole;
      }
      
      if(type == ObjectType.TARGET) {
        return mResizedBitmapTarget;
      }
        
      if(type == ObjectType.BALL) {
        return mResizedBitmapBall;
      }
      return null;
    }

    
   //fertig programmierte Hilfsfunktionen:
    
   /** zeige eine Erfolgsmeldung an und kehre zur aufrufenden Activity zurck
    * @param context Verweis auf die aufrufende Activity (kann meist als this bergeben werden)
    * @param title Titel der Dialogbox
    * @param message Text der Dialogbox
    */
  static public void showDialog(Context context, String title, String message) {
        new AlertDialog.Builder(context)
        .setTitle(title)
        .setMessage(message)
        .setPositiveButton(android.R.string.ok, null)
        .setIcon(android.R.drawable.ic_dialog_alert)
        .show();
    
  }
  
}




Java Source Code List

com.example.balanceit.Ball.java
com.example.balanceit.FXHelper.java
com.example.balanceit.GameActivity.java
com.example.balanceit.GravitySensorListener.java
com.example.balanceit.InfoActivity.java
com.example.balanceit.StartActivity.java
com.example.balanceit.Tile.java
com.example.balanceit.World.java