- 浏览: 141850 次
- 性别:
文章分类
最新评论
-
HeLinHang:
anyang763 写道 正要用,谢谢!!呵呵,不客气哈!
Android从网上下载文件 -
anyang763:
正要用,谢谢!!
Android从网上下载文件 -
HeLinHang:
48*48可以啊,我试过,没问题,16*16的我还没试过!
改变自己网站在浏览器上的图标 -
化蝶自在飞:
48*48? 太大了吧,一般好像都是16*16的
改变自己网站在浏览器上的图标
开发思路:
第一个Activity中,设置游戏全屏,设置初始化ContentView,
在CcontentView中,继承SurfaceView,实现Callback和Runnable接口
重写方法,在surfaceCreated方法中启动线程,在线程中给画布画画。
第一个类:SurfaceViewTestActivity
package cn.edu.surfacetest; import android.app.Activity; import android.os.Bundle; import android.view.Window; import android.view.WindowManager; public class SurfaceViewTestActivity extends Activity { /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); //drop the application title //hide the statubar(battery and flag) this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(new MySurfaceView(this)); } }
第二个类MySurfaceView:
package cn.edu.surfacetest; import android.app.Activity; import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Matrix; import android.graphics.Paint; import android.view.MotionEvent; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.SurfaceHolder.Callback; public class MySurfaceView extends SurfaceView implements Callback,Runnable{ private Activity father; private SurfaceHolder sfh; private Canvas canvas; public MySurfaceView(Context context) { super(context); // TODO Auto-generated constructor stub sfh=this.getHolder(); sfh.addCallback(this); father=(Activity)context; } public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) { // TODO Auto-generated method stub } public void surfaceCreated(SurfaceHolder arg0) { // TODO Auto-generated method stub new Thread(this).start(); } public void surfaceDestroyed(SurfaceHolder holder) { // TODO Auto-generated method stub } public void myDraw(){ canvas=sfh.lockCanvas(); Paint paint=new Paint(); paint.setColor(Color.RED); Resources resource=this.getResources(); Bitmap bitmap=BitmapFactory.decodeResource(resource, R.drawable.icon); Matrix matrix=new Matrix(); matrix.setScale(1,1); canvas.drawBitmap(bitmap, matrix, paint); canvas.drawRect(10, 20, 30,40, paint); canvas.drawText("Hello", 20, 20, paint); sfh.unlockCanvasAndPost(canvas); } public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub father.setContentView(new MySurface2((Context)father)); return super.onTouchEvent(event); } public void run() { // TODO Auto-generated method stub myDraw(); System.out.println("begin"); } }
第三个类MySurface2:
package cn.edu.surfacetest; import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Matrix; import android.graphics.Paint; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.SurfaceHolder.Callback; public class MySurface2 extends SurfaceView implements Callback,Runnable{ private SurfaceHolder sfh; private Canvas canvas; public MySurface2(Context context) { super(context); // TODO Auto-generated constructor stub sfh=this.getHolder(); sfh.addCallback(this); } public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) { // TODO Auto-generated method stub } public void surfaceCreated(SurfaceHolder arg0) { // TODO Auto-generated method stub new Thread(this).start(); } public void surfaceDestroyed(SurfaceHolder holder) { // TODO Auto-generated method stub } public void myDraw(){ canvas=sfh.lockCanvas(); Paint paint=new Paint(); paint.setColor(Color.GREEN); Resources resource=this.getResources(); Bitmap bitmap=BitmapFactory.decodeResource(resource, R.drawable.icon); Matrix matrix=new Matrix(); matrix.setScale(1,1); canvas.drawBitmap(bitmap, matrix, paint); canvas.drawRect(10, 20, 30,40, paint); canvas.drawText("Hello", 20, 20, paint); sfh.unlockCanvasAndPost(canvas); } public void run() { // TODO Auto-generated method stub myDraw(); System.out.println("begin"); } }
发表评论
-
git常用命令
2016-09-01 15:56 320git init git add 文件名 将删除或者修改的 ... -
实现带上拉和下拉刷新功能的ListView
2013-09-24 20:35 1106package com.test.test; impo ... -
实现带上拉和下拉刷新功能的ListView
2013-09-21 21:12 2package com.test.test; imp ... -
Android中SlidingView的实现
2013-04-27 07:32 1106网上找的,写的不错,感谢作者的分享! -
实现类似微博的BottomBar
2013-04-19 07:36 551主要布局: package com.test.activi ... -
Andorid中动画的使用
2013-04-18 07:48 585//使用动画 Animation myAnimat ... -
HttpPost工具类
2013-02-18 22:06 1153import java.io.IOException; ... -
解析json数据
2013-01-18 22:42 1143// 正确返回数据 // {"error_c ... -
Android ley hash的生成
2013-01-03 21:44 695确保你使用正确的密码 - 用于调试的keystore,默 ... -
Android中屏幕适配和样式主题的使用
2012-04-18 15:19 1009在res文件夹下新建和分 ... -
输入流转换成字符串
2012-04-08 00:49 906private String inputStreamTo ... -
通过HttpURLConnection使用Get和Post方法发送数据
2012-04-08 00:45 2997Get方法发送数据 在Get类中 HttpUR ... -
SQLite数据库
2012-04-02 23:19 698SQLite3支持NULL,INTEGER、REAL、T ... -
ContentProvider的使用
2012-04-02 23:15 935第一步:在AndroidManifest.xml中添加 ... -
SQLite数据库的使用
2012-04-02 23:11 794第一步:继承SQLiteOpenHelper p ... -
Android中单元测试
2012-04-02 23:08 729在AndroidManifest.xml中 在< ... -
解析JSON数据
2012-03-27 23:42 753工具类:JsonUtils package cn ... -
android中SharedPerferences保存数据
2012-03-27 23:28 740SharedPerferences preference ... -
Android中向服务器发送数据的Post和Get方法
2012-01-19 18:12 2767下面是Post方法: NameValuePair ... -
android中启动服务
2011-11-20 13:21 696在Activity中 package cn.ed ...
相关推荐
此款游戏源码的注释写的很完整,对于学习android 2D游戏开发的朋友应该会有算帮助。
Android开发精典案例 游戏 迷宫小球 Android开发精典案例 游戏 迷宫小球
android游戏开发根据游戏的种类以及需求,可以考虑使用不同的方式去开发并搭建框架,这个是简单的2D休闲游戏的框架,采用SurfaceView起一个独立的线程来控制画板Canvas的刷新。
5.1 Android游戏开发框架 5.1.1 View类开发框架 5.1.2 SurfaceView类开发框架 5.2 Graphics类开发 5.5.1 Paint和Color类介绍 5.2.2 Canvas类介绍 5.2.3 几何图形绘制 5.2.4 字符串绘制 5.2.5 图像绘制 5.2.6 图像...
>如何从头开发两个2D游戏的基础上,画布的API和OpenGL ES。 >如何创建一个全功能的3D游戏 >如何发布你的游戏,让崩溃报告,并支持你的用户 >如何完成自己的二维OpenGL游戏可玩 >下个焦点 这本书是为具有基本的...
Himi-李华明-android 2D游戏开发系列源码
android 源码学习
本书主要以Android平台下应用软件开发的基础知识为主题,并结合真实的案例为读者详细介绍Android平台下的商务软件、3D游戏程序及2D游戏程序的开发流程。 全书分为两篇共15章。第1篇以大量简单易懂的实例为依托,详细...
案例为一个足球场背景,上面有一颗旋转的足球,可以通过重力感应来控制足球移动方向。代码每一行都带有注释,方便下载者理解。
android一个2D桌球小游戏,非常适合游戏开发新手。
第二篇则通过对三个真实案例开发进行详细介绍 让读者很容易将所学的知识融会贯通 快速掌握android平台下的商务软件 3d游戏及2d游戏的开发过程 同时在本书随书光盘的源代码中包含详尽的注释 以求尽量帮助读者快速理解...
Android应用案例开发大全...详细介绍了3D动态壁纸、LBS类应用、导航与百度地图二次开发、理财类应用、餐饮行业应用、校园辅助应用、音乐休闲应用、新闻发布管理应用、休闲益智类3D/2D游戏等各类Android应用程序的开发。
第5章是一个2D游戏实例,多方面地介绍了Unity在2D游戏方面的应用。第6章和第7章,重点介绍了Unity在网络方面的应用。第8~10章介绍了如何将Unity游戏移植到网页、iOS和Android平台。另外,本书*后附有C#语言的快速...
自己开发的一款android平台的一个2D游戏,完整的2D游戏框架,有过关,保存,加载功能,用surface实现,用到很多android的东西,有gallery 有文件操作,等等值得下载,是游戏开发爱好者的入门学习好教材
本书是一本可以信赖的指南,能够帮助你在移动游戏开发中迅速“升级”。学完本书并加以融会贯通,就能够编写出成功的Android游戏。[1] 《Android 4游戏编程入门经典》将引导你在Android平台上完整地开发出3个示例...
光盘中包括视频文件和全部的源程序。 SRC文件夹为源程序;...第十讲:2D游戏开发 第十一讲:HTML5与web移动开发 第十二讲:输入法 第十三讲:OPENGL ES 第十四讲:DNK编程 第十五讲:测试驱动开发 第十六讲:综合案例
Android应用案例开发大全...详细介绍了3D动态壁纸、LBS类应用、导航与百度地图二次开发、理财类应用、餐饮行业应用、校园辅助应用、音乐休闲应用、新闻发布管理应用、休闲益智类3D/2D游戏等各类Android应用程序的开发。
5.1 Android游戏开发框架 5.1.1 View类开发框架 5.1.2 SurfaceView类开发框架 5.2 Graphics类开发 5.5.1 Paint和Color类介绍 5.2.2 Canvas类介绍 5.2.3 几何图形绘制 5.2.4 字符串绘制 5.2.5 图像...
Android应用案例开发大全...详细介绍了3D动态壁纸、LBS类应用、导航与百度地图二次开发、理财类应用、餐饮行业应用、校园辅助应用、音乐休闲应用、新闻发布管理应用、休闲益智类3D/2D游戏等各类Android应用程序的开发。