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游戏开发框架的更多相关文章

  1. Java中利用随机数的猜拳游戏

    Java中利用随机数的猜拳游戏,实现非常简单,重难点在于随机数的产生. 首先GameJude类是用于判断输赢的一个类: package testGame; public class GameJudge ...

  2. IOS 2D游戏开发框架 SpriteKit

    最近发现Xcode自带的2D游戏开发框架SpriteKit可以直接引入到APP中进行混合开发,这就是说可以开发出既带业务应用又带游戏的苹果APP,咋怎么觉得这是一个自己的小发现....呵呵....., ...

  3. Android中View和ViewGroup介绍

    1. 概念Android中的View与我们以前理解的“视图”不同.在Android中,View比视图具有更广的含义,它包含了用户交互和显示,更像Windows操作系统中的window. ViewGro ...

  4. 怎样在Android开发中FPS游戏实现的两种方式比较

    怎样在Android开发中FPS游戏实现的两种方式比较 如何用Android平台开发FPS游戏,其实现过程有哪些方法,这些方法又有哪些不同的地方呢?首先让我们先了解下什么是FPS 英文名:FPS (F ...

  5. Java中关于内存泄漏出现的原因以及如何避免内存泄漏

    转账自:http://blog.csdn.net/wtt945482445/article/details/52483944 Java 内存分配策略 Java 程序运行时的内存分配策略有三种,分别是静 ...

  6. java中的23中设计模式(转)

    设计模式(Design Patterns) --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...

  7. Android中View绘制流程以及invalidate()等相关方法分析

    [原文]http://blog.csdn.net/qinjuning 整个View树的绘图流程是在ViewRoot.java类的performTraversals()函数展开的,该函数做的执行过程可简 ...

  8. Java中MVC详解以及优缺点总结

     概念:  MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务数据.逻辑.界面显示分离的 ...

  9. java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET

    java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET 亲,“社区之星”已经一周岁了!      社区福利快来领取免费参加MDCC大会机会哦    Tag功能介绍—我们 ...

随机推荐

  1. [UOJ 74] 【UR #6】破解密码

    题目链接:UOJ - 74 题目分析 题目中,将字符串 S 的第一个字符移到末尾,其他字符向前移动一个位置,f(S) 就从 Hi 变成了 Hi+1. 我们分析一下这个过程:假设第一个字符为 c, (H ...

  2. [BZOJ 1047] [HAOI2007] 理想的正方形 【单调队列】

    题目链接:BZOJ - 1047 题目分析 使用单调队列在 O(n^2) 的时间内求出每个 n * n 正方形的最大值,最小值.然后就可以直接统计答案了. 横向有 a 个单调队列(代码中是 Q[1] ...

  3. 关于Cookie跨域操作的一些总结

    正常的cookie只能在一个应用中共享,即一个cookie只能由创建它的应用获得. 1.可在同一应用服务器内共享方法:设置cookie.setPath("/");     本机to ...

  4. 在Eclipse中安装spket插件

    spket是一个开发JavaScript和Ext等的开发工具,它可以 是独立的IDE,也可以作为 Eclipse的插件使用,下面介绍如何在Eclipse中安装spket插件, 1.首先上 官网 htt ...

  5. 【CF】220B Little Elephant and Array

    区间动态统计的好题. /* */ #include <iostream> #include <string> #include <map> #include < ...

  6. 【转】MFC窗口句柄各类指针获取函数

    原文网址:http://www.pythonschool.com/CPP_JHK/5003.html 获取所在类窗口的句柄 this->m_hwnd; // this是一个指针,指向当前类的实例 ...

  7. HDU-2176 取(m堆)石子游戏

    http://acm.hdu.edu.cn/showproblem.php?pid=2176 第三种博弈,但一定要注意优化时间 取(m堆)石子游戏 Time Limit: 3000/1000 MS ( ...

  8. Linux学习笔记11——文件I/O之二

    一.文件共享 内核使用三种数据结构表示打开的文件,它们之间的关系决定了在文件共享方面一个进程对另一个进程可能产生的影响. 1.每个进程在进程表中都有一个记录项,记录项中包含有一张打开文件描述表 2.内 ...

  9. 【转】OpenGL基础图形编程(一)

    原文:http://blog.chinaunix.net/uid-20638550-id-1909183.html  分类: 一.OpenGL与3D图形世界 1.1.OpenGL使人们进入三维图形世界 ...

  10. HDOJ 2017 字符串统计

    Problem Description 对于给定的一个字符串,统计其中数字字符出现的次数. Input 输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组 ...