This commit is contained in:
Administrator
2014-02-21 11:47:41 +01:00
parent c83775a756
commit 3a65b804df
4 changed files with 95 additions and 142 deletions
+3 -6
View File
@@ -27,16 +27,13 @@ public class CanvasView extends View
super(context); super(context);
super.setBackgroundColor(Color.BLACK); super.setBackgroundColor(Color.BLACK);
Gameplay = new GamePlay();
//Gameplay.Instance = Gameplay;
Gamemenu = new GameMenu();
//Gamemenu.Instance = Gamemenu;
} }
public void SetActivity(Activity activity) public void SetActivity(Activity activity)
{ {
Gameplay = new GamePlay(activity);
Gamemenu = new GameMenu(activity);
Gamemenu.SetActivity(activity); Gamemenu.SetActivity(activity);
Gamemenu.SetCanvas(this); Gamemenu.SetCanvas(this);
Gamemenu.SetPayedVersion(PayedVersion); Gamemenu.SetPayedVersion(PayedVersion);
+7 -67
View File
@@ -1,23 +1,20 @@
package mangavalk.tetris; package mangavalk.tetris;
import android.content.res.Resources; import android.app.Activity;
import android.graphics.Canvas; import android.graphics.Canvas;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.media.MediaPlayer; import android.media.MediaPlayer;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.Display;
public class GameMenu extends GameStateInterface public class GameMenu extends GameStateInterface
{ {
// Instance.
public static GameMenu Instance = new GameMenu();
// GameState. // GameState.
protected int GameState = GS_STOPPED; protected int GameState = GS_STOPPED;
public GameMenu(Activity activity)
{
super(activity);
}
// Methods. // Methods.
@Override @Override
public void DrawFrame(Canvas canvas) public void DrawFrame(Canvas canvas)
@@ -126,16 +123,6 @@ public class GameMenu extends GameStateInterface
// Internal. // Internal.
// Variabelen.
Resources r;
// Display
float dpHeight;
float dpWidth;
float Height;
float Width;
// Audio. // Audio.
MediaPlayer mp; MediaPlayer mp;
@@ -144,20 +131,7 @@ public class GameMenu extends GameStateInterface
{ {
SetGameState(GS_LOADING, false); SetGameState(GS_LOADING, false);
// Set Display Info. //////////////////////////////////////////
Display display = activity.getWindowManager().getDefaultDisplay();
DisplayMetrics outMetrics = new DisplayMetrics ();
display.getMetrics(outMetrics);
r = activity.getResources();
float density = r.getDisplayMetrics().density;
dpHeight = outMetrics.heightPixels / density;
dpWidth = outMetrics.widthPixels / density;
Height = outMetrics.heightPixels;
Width = outMetrics.widthPixels;
// Load Bitmap's. // Load Bitmap's.
//LoadSprites(); //LoadSprites();
@@ -187,38 +161,4 @@ public class GameMenu extends GameStateInterface
{ {
Rect(canvas, 0f, 160f, 0f, 90f, Color.parseColor("lime")); Rect(canvas, 0f, 160f, 0f, 90f, Color.parseColor("lime"));
} }
// other logic
private void Rect(Canvas canvas, float Top, float Bottom, float Left, float Right, int Color)
{
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(Color);
paint.setStyle(Style.FILL);
canvas.drawRect(
GetRealPixelSize(DIP_W, dpWidth, Left),
GetRealPixelSize(DIP_H, dpHeight, Top),
GetRealPixelSize(DIP_W, dpWidth, Right),
GetRealPixelSize(DIP_H, dpHeight, Bottom), paint);
}
final static int DIP_H = 0;
final static int DIP_W = 1;
private float GetRealPixelSize(int wH, float dpWH, double DIP)
{
if (wH == DIP_H)
return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, (float)(dpWH * ( DIP / 160 )), r.getDisplayMetrics());
else if (wH == DIP_W)
return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, (float)(dpWH * ( DIP / 90 )), r.getDisplayMetrics());
else
return 0;
}
float map(float x, float in_min, float in_max, float out_min, float out_max)
{
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
} }
+6 -63
View File
@@ -1,18 +1,12 @@
package mangavalk.tetris; package mangavalk.tetris;
import android.app.Activity; import android.app.Activity;
import android.content.res.Resources;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.BitmapFactory; import android.graphics.BitmapFactory;
import android.graphics.Canvas; import android.graphics.Canvas;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.media.MediaPlayer; import android.media.MediaPlayer;
import android.os.Handler; import android.os.Handler;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.Display;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.TimerTask; import java.util.TimerTask;
@@ -22,6 +16,11 @@ public class GamePlay extends GameStateInterface
// GameState. // GameState.
protected int GameState = GS_STOPPED; protected int GameState = GS_STOPPED;
public GamePlay(Activity activity)
{
super(activity);
}
// Methods. // Methods.
@Override @Override
public void DrawFrame(Canvas canvas) { public void DrawFrame(Canvas canvas) {
@@ -129,14 +128,6 @@ public class GamePlay extends GameStateInterface
} }
// Variabelen // Variabelen
Resources r;
// Display
float dpHeight;
float dpWidth;
float Height;
float Width;
// Block Array // Block Array
int[][] blockArray = new int[][]{ int[][] blockArray = new int[][]{
@@ -470,20 +461,7 @@ public class GamePlay extends GameStateInterface
{ {
SetGameState(GS_LOADING, false); SetGameState(GS_LOADING, false);
// Set Display Info. ////////////////////////////
Display display = activity.getWindowManager().getDefaultDisplay();
DisplayMetrics outMetrics = new DisplayMetrics ();
display.getMetrics(outMetrics);
r = activity.getResources();
float density = r.getDisplayMetrics().density;
dpHeight = outMetrics.heightPixels / density;
dpWidth = outMetrics.widthPixels / density;
Height = outMetrics.heightPixels;
Width = outMetrics.widthPixels;
// Load Bitmap's. // Load Bitmap's.
LoadSprites(); LoadSprites();
@@ -1876,7 +1854,6 @@ public class GamePlay extends GameStateInterface
} }
} }
private boolean SpawnBlock() private boolean SpawnBlock()
{ {
CheckTetriminoSpawnArray(); CheckTetriminoSpawnArray();
@@ -1909,38 +1886,4 @@ public class GamePlay extends GameStateInterface
return true; return true;
} }
// other logic
private void Rect(Canvas canvas, float Top, float Bottom, float Left, float Right, int Color)
{
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(Color);
paint.setStyle(Style.FILL);
canvas.drawRect(
GetRealPixelSize(DIP_W, dpWidth, Left),
GetRealPixelSize(DIP_H, dpHeight, Top),
GetRealPixelSize(DIP_W, dpWidth, Right),
GetRealPixelSize(DIP_H, dpHeight, Bottom), paint);
}
final static int DIP_H = 0;
final static int DIP_W = 1;
private float GetRealPixelSize(int wH, float dpWH, double DIP)
{
if (wH == DIP_H)
return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, (float)(dpWH * ( DIP / 160 )), r.getDisplayMetrics());
else if (wH == DIP_W)
return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, (float)(dpWH * ( DIP / 90 )), r.getDisplayMetrics());
else
return 0;
}
float map(float x, float in_min, float in_max, float out_min, float out_max)
{
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
} }
+79 -6
View File
@@ -1,12 +1,16 @@
package mangavalk.tetris; package mangavalk.tetris;
import android.app.Activity; import android.app.Activity;
import android.content.res.Resources;
import android.graphics.Canvas; import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.Display;
public abstract class GameStateInterface public abstract class GameStateInterface
{ {
//public GameStateInterface Instance;
// GameState Parameters // GameState Parameters
final static int GS_STOPPED = 0; final static int GS_STOPPED = 0;
final static int GS_LOADING = 1; final static int GS_LOADING = 1;
@@ -21,16 +25,40 @@ public abstract class GameStateInterface
final static int GS_MENU_READY = 10; final static int GS_MENU_READY = 10;
// Variabelen. // Variabelen.
CanvasView canvasView; protected CanvasView canvasView;
Activity activity = null; protected Activity activity = null;
// Constructer.
protected GameStateInterface()
{
// Do nothing.
}
public GameStateInterface(Activity _activity)
{
activity = _activity;
// Set Display Info.
Display display = activity.getWindowManager().getDefaultDisplay();
DisplayMetrics outMetrics = new DisplayMetrics ();
display.getMetrics(outMetrics);
r = activity.getResources();
float density = r.getDisplayMetrics().density;
dpHeight = outMetrics.heightPixels / density;
dpWidth = outMetrics.widthPixels / density;
Height = outMetrics.heightPixels;
Width = outMetrics.widthPixels;
}
// Methods. // Methods.
public abstract void DrawFrame(Canvas canvas); public abstract void DrawFrame(Canvas canvas);
public abstract void SendMove(float x,float y, boolean pointerUp); public abstract void SendMove(float x,float y, boolean pointerUp);
//public abstract void SetGameState(int gameState);
public abstract void SetGameState(int gameState, boolean isPostBack); public abstract void SetGameState(int gameState, boolean isPostBack);
public abstract void onPause(); public abstract void onPause();
@@ -50,4 +78,49 @@ public abstract class GameStateInterface
// Get // Get
public abstract int GetGameState(); public abstract int GetGameState();
// other logic
// Variabelen.
Resources r;
// Display
float dpHeight;
float dpWidth;
float Height;
float Width;
protected void Rect(Canvas canvas, float Top, float Bottom, float Left, float Right, int Color)
{
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(Color);
paint.setStyle(Style.FILL);
canvas.drawRect(
GetRealPixelSize(DIP_W, dpWidth, Left),
GetRealPixelSize(DIP_H, dpHeight, Top),
GetRealPixelSize(DIP_W, dpWidth, Right),
GetRealPixelSize(DIP_H, dpHeight, Bottom), paint);
}
final static int DIP_H = 0;
final static int DIP_W = 1;
protected float GetRealPixelSize(int wH, float dpWH, double DIP)
{
if (wH == DIP_H)
return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, (float)(dpWH * ( DIP / 160 )), r.getDisplayMetrics());
else if (wH == DIP_W)
return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, (float)(dpWH * ( DIP / 90 )), r.getDisplayMetrics());
else
return 0;
}
protected float map(float x, float in_min, float in_max, float out_min, float out_max)
{
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
} }