Java中View游戏开发框架
java中游戏开发引擎View比较适合被动触发的游戏,不能使用于那种对战的游戏
Game01Activity.java 这里是调用的activity
package cn.sun.syspro; import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager; public class Game01Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.main);
//隐藏定格
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow()
.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(new Myview(this));
}
}
Myview.java
package cn.sun.syspro; import android.R.style;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View; public class Myview extends View{
/**
* 重写父类构造函数
* @param context
*/
private int x = 200,y = 200;
public Myview(Context context) {
super(context);
setFocusable(true);
// TODO Auto-generated constructor stub
}
/**
* 重写绘图函数
*/
@Override
protected void onDraw(Canvas canvas){
//创建一个画笔
Paint paint = new Paint();
//设置画笔的颜色
paint.setColor(Color.BLACK);
//绘制文本
canvas.drawRGB(250, 224, 240);
canvas.drawText("Hello Sun",this.x,this.y, paint);
super.onDraw(canvas);
}
/**
* 重写按下事件
*/
@Override
public boolean onKeyDown(int keyCode,KeyEvent event){
if(keyCode == event.KEYCODE_DPAD_UP){
this.y-=2;
}else if(keyCode == event.KEYCODE_DPAD_DOWN){
this.y+=2;
}else if(keyCode == event.KEYCODE_DPAD_LEFT){
this.x-=2;
}else if(keyCode == event.KEYCODE_DPAD_RIGHT){
this.x+=2;
}
invalidate();
return super.onKeyDown(keyCode, event);
}
/**
* 重写按键弹起事件
*/
@Override
public boolean onKeyUp(int keyCode,KeyEvent event){
if(keyCode == event.KEYCODE_DPAD_UP){
this.y-=2;
}else if(keyCode == event.KEYCODE_DPAD_DOWN){
this.y+=2;
}else if(keyCode == event.KEYCODE_DPAD_LEFT){
this.x-=2;
}else if(keyCode == event.KEYCODE_DPAD_RIGHT){
this.x+=2;
}
invalidate();
return super.onKeyUp(keyCode, event);
}
/**
* 重写触屏事件函数
*/
@Override
public boolean onTouchEvent(MotionEvent event){
int t_x = (int) event.getX();
int t_y = (int) event.getY();
if(event.getAction() == MotionEvent.ACTION_DOWN){
this.x = t_x;
this.y = t_y;
}else if(event.getAction() == MotionEvent.ACTION_MOVE){
this.x = t_x;
this.y = t_y;
}else if(event.getAction() == MotionEvent.ACTION_UP){
this.x = t_x;
this.y = t_y;
}
invalidate();
return super.onTouchEvent(event);
} }

Java中View游戏开发框架的更多相关文章
- Java中利用随机数的猜拳游戏
Java中利用随机数的猜拳游戏,实现非常简单,重难点在于随机数的产生. 首先GameJude类是用于判断输赢的一个类: package testGame; public class GameJudge ...
- IOS 2D游戏开发框架 SpriteKit
最近发现Xcode自带的2D游戏开发框架SpriteKit可以直接引入到APP中进行混合开发,这就是说可以开发出既带业务应用又带游戏的苹果APP,咋怎么觉得这是一个自己的小发现....呵呵....., ...
- Android中View和ViewGroup介绍
1. 概念Android中的View与我们以前理解的“视图”不同.在Android中,View比视图具有更广的含义,它包含了用户交互和显示,更像Windows操作系统中的window. ViewGro ...
- 怎样在Android开发中FPS游戏实现的两种方式比较
怎样在Android开发中FPS游戏实现的两种方式比较 如何用Android平台开发FPS游戏,其实现过程有哪些方法,这些方法又有哪些不同的地方呢?首先让我们先了解下什么是FPS 英文名:FPS (F ...
- Java中关于内存泄漏出现的原因以及如何避免内存泄漏
转账自:http://blog.csdn.net/wtt945482445/article/details/52483944 Java 内存分配策略 Java 程序运行时的内存分配策略有三种,分别是静 ...
- java中的23中设计模式(转)
设计模式(Design Patterns) --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
- Android中View绘制流程以及invalidate()等相关方法分析
[原文]http://blog.csdn.net/qinjuning 整个View树的绘图流程是在ViewRoot.java类的performTraversals()函数展开的,该函数做的执行过程可简 ...
- Java中MVC详解以及优缺点总结
概念: MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务数据.逻辑.界面显示分离的 ...
- java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET
java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET 亲,“社区之星”已经一周岁了! 社区福利快来领取免费参加MDCC大会机会哦 Tag功能介绍—我们 ...
随机推荐
- Git如何Check Out出指定文件或者文件夹
原文 http://www.handaoliang.com/a/20140506/195406.html 在进行项目开发的时候,有时候会有这样的需求那就是:我们只希望从Git仓库里取指定的文件或者文 ...
- MTTR是什么?或者说为什么别给婴儿喝白兰地
在团队纷纷谈起工作效率的时候,对运维工作者,他们通常喜欢用「故障的平均解决时间」来衡量团队的工作效率.然而这往往是不正确的.一个迅速解决大量突发事故的团队十分高效,而实际上这更有可能意味着该团队的基础 ...
- codeforces C. No to Palindromes!
http://codeforces.com/contest/465/problem/C 题意:给你一个字符串,然后按照字典序找出下一个字符串,这个字符串中不能含有长度大于等于2的子串为回文串,如果含有 ...
- Spring Batch系列总括(转载)
最近一个项目在使用SpringBatch框架做一个电子商务平台的批处理.网上资料很有限,尤其是中文资料更是少之又少,官网上的文档也只是讲一些入门的基础知识,大部分高级特性都是一笔带过,讲解的很不彻底, ...
- 14.6.2 Configuring InnoDB for Read-Only Operation
14.6.2 Configuring InnoDB for Read-Only Operation 配置InnoDB只读操作 你可以查询InnoDB 表MySQL 数据目录是一个只读介质,通过启用 - ...
- wcf中的File-less Activation
File-less Activation Although .svc files make it easy to expose WCF services, an even easier approac ...
- 转---在ASP.NET MVC中实现登录后回到原先的界面
有这样的一个需求:提交表单,如果用户没有登录,就跳转到登录页,登录后,跳转到原先表单提交这个页面,而且需要保持提交表单界面的数据. 提交表单的页面是一个强类型视图页,如果不考虑需要保持提交表单界面的数 ...
- 移植lrzsz串口文件传输工具到mini2440
1.下载源码2.解压源码 tar -xzf lrzsz-0.12.20.tar.gz 3.检查配置 ./configure 4.修改Makefile 有三个Makefile需要修改,分别是lrzsz- ...
- 用Delphi7开发Web Service程序 转
转:http://rosehacker.blog.51cto.com/2528968/450160 用Delphi7开发Web Service程序,并把服务程序放在IIS Web服务器上提供给 ...
- Android学习笔记(一)Android应用程序的组成部分
Android应用程序由松散耦合的组件组成,并使用应用程序Manifest绑定到一起:应用程序Manifest描述了每一组件和它们之间的交互方式,还用于指定应用程序元数据.其硬件和平台要求.外部库以及 ...