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. Contest 20140708 testA && testC

    testA 输入文件: testA.in  输出文件testA.out 时限2000ms 问题描述: 如果一个数化为一个二进制数之后(没有前导0),0的个数>=1的个数.那么这个数就是方数. E ...

  2. c语言exit和return区别,在fork和vfork中使用

    转自c语言exit和return区别,在fork和vfork中使用 exit函数在头文件stdlib.h中. 简述: exit(0):正常运行程序并退出程序: exit(1):非正常运行导致退出程序: ...

  3. div 背景色设置_DIV背景颜色设置

    DIV 背景色设置篇-div背景颜色设置篇 一.div标签内直接设置背景颜色   -   TOP <div style="background:#000; color:#FFF&quo ...

  4. LeetCode解题报告:Binary Tree Postorder Traversal

    Given a binary tree, return the postorder traversal of its nodes' values. For example:Given binary t ...

  5. 【Cocos2d-x JavaScript Binding】

    Cocos2d-x JavaScript Binding结合CocosBuilder跨平台游戏开发简明教程http://www.cocoachina.com/applenews/devnews/201 ...

  6. 龙芯8089_D安装debian 8 iessie

    参考官方文档:https://wiki.debian.org/DebianYeeloong/HowTo/Install 下载网络引导文件后使用tftpd建立ftfp服务器,然后使用PMON tftp来 ...

  7. 为xampp 安装pear db (database) 模块

    pear channel-update pear.php.netpear install db

  8. QUEUE——队列(procedure)

    #include <stdio.h> #include <stdlib.h> #include "queue.h" int main() {  int i; ...

  9. 如何将下载好的jar包添加到maven本地仓库

    1.首先在pom.xml中添加 <dependency>    <groupId>org.springframework.security</groupId>    ...

  10. 创建maven项目出现的问题

    右击项目无法显示maven图标,创建的pom.xml无法识别,并且创建maven项目时,一直显示Loading archetype list...