Android Open Source - AndroSol Game Surface From Project Back to project page AndroSol .
License The source code is released under:
MIT License
If you think the Android project AndroSol 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.androsol;
/ / f r o m w w w . j a v a 2 s . c o m
import lib.cards.utilities.Point;
import lib.cards.views.Sprite;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.util.Log;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
public class GameSurface extends SurfaceView {
public interface Drawable {
void draw(Canvas canvas);
}
private SurfaceHolder surfaceHolder;
private final Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
Drawable callback;
AndroidGameBoard board;
public GameSurface(Context context) {
super (context);
surfaceHolder = getHolder();
surfaceHolder.addCallback(new SurfaceHolder.Callback() {
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
GameSurface.this.surfaceDestroyed(holder);
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
GameSurface.this.surfaceCreated(holder);
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format,
int width, int height) {
GameSurface.this.surfaceChanged(holder, format, width, height);
}
});
paint.setColor(Color.BLUE);
paint.setStyle(Style.FILL);
}
public GameSurface(Drawable callback, AndroidGameBoard board,
Context context) {
this (context);
this.board = board;
this.callback = callback;
}
public void draw() {
Canvas canvas = surfaceHolder.lockCanvas();
if (canvas != null) {
canvas.drawColor(Color.BLACK);
callback.draw(canvas);
surfaceHolder.unlockCanvasAndPost(canvas);
}
}
public void surfaceCreated(SurfaceHolder holder) {
draw();
}
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
}
public void surfaceDestroyed(SurfaceHolder holder) {
}
public static final String TAG = GameSurface.class.getName();
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
Sprite sprite = board
.hitTest(new Point(event.getX(), event.getY()));
if (sprite != null) {
board.doSpriteSelected(sprite);
}
if (event.getY() > getHeight() - 50) {
// thread.setRunning(false);
((Activity) getContext()).finish();
} else {
String name = "null" ;
if (sprite != null) {
name = sprite.getName();
}
Log.d(TAG, "Coords: x=" + event.getX() + ",y=" + event.getY()
+ "Sprite=" + name);
}
}
return super.onTouchEvent(event);
}
}
Java Source Code List com.example.androsol.AndroidDeck.java com.example.androsol.AndroidGameBoard.java com.example.androsol.CardSpriteImpl.java com.example.androsol.DeckTheme.java com.example.androsol.DisplayMessageActivity.java com.example.androsol.GameSurface.java com.example.androsol.MainActivity.java com.example.androsol.SpriteImpl.java com.example.androsol.StackSpriteImpl.java com.example.androsol.StandardDeck.java lib.cards.controllers.Actions.java lib.cards.controllers.DealAction.java lib.cards.controllers.GameActionState.java lib.cards.controllers.GameAction.java lib.cards.controllers.GameController.java lib.cards.controllers.NewGameActionState.java lib.cards.controllers.NewGameAction.java lib.cards.controllers.StackMoveAction.java lib.cards.controllers.StackMoveState.java lib.cards.models.CardColor.java lib.cards.models.CardStackId.java lib.cards.models.CardStack.java lib.cards.models.CardState.java lib.cards.models.CardSuit.java lib.cards.models.CardValue.java lib.cards.models.Card.java lib.cards.models.CardsMovedEventHandler.java lib.cards.models.CardsMovedEventObject.java lib.cards.models.EmptyTableauPileFilledBy.java lib.cards.models.EventHandler.java lib.cards.models.FoundationBaseCard.java lib.cards.models.FoundationSequence.java lib.cards.models.Foundation.java lib.cards.models.FreeCell.java lib.cards.models.GameEventObject.java lib.cards.models.GameOverEventHandler.java lib.cards.models.GameOverEventObject.java lib.cards.models.GameProperties.java lib.cards.models.GameState.java lib.cards.models.Game.java lib.cards.models.MoveGroupsOfCardsAsAUnit.java lib.cards.models.NewGameEventHandler.java lib.cards.models.NumberOfCardsDealtFromStock.java lib.cards.models.RedealsAllowed.java lib.cards.models.RestoreGameEventHandler.java lib.cards.models.ScoreChangedEventHandler.java lib.cards.models.ScoreChangedEventObject.java lib.cards.models.StackType.java lib.cards.models.Stock.java lib.cards.models.SubStackMovedEventHandler.java lib.cards.models.SubStackMovedEventObject.java lib.cards.models.SubStack.java lib.cards.models.TableauSequence.java lib.cards.models.TableauType.java lib.cards.models.Tableau.java lib.cards.models.Waste.java lib.cards.utilities.CollectionUtils.java lib.cards.utilities.CommandImpl.java lib.cards.utilities.Command.java lib.cards.utilities.Point.java lib.cards.utilities.Rect.java lib.cards.utilities.Size.java lib.cards.utilities.UndoStack.java lib.cards.views.CardSprite.java lib.cards.views.DeckMetrics.java lib.cards.views.Deck.java lib.cards.views.GameBoardImpl.java lib.cards.views.GameBoardMetrics.java lib.cards.views.GameBoard.java lib.cards.views.SpriteAddedEventHandler.java lib.cards.views.SpriteDefaultActionEventHandler.java lib.cards.views.SpriteEventObject.java lib.cards.views.SpriteRemovedEventHandler.java lib.cards.views.SpriteSelectedEventHandler.java lib.cards.views.Sprite.java lib.cards.views.StackSprite.java