android游戏开发 深度解析利用位图绘制rpg地图
来源:互联网 发布:rc4加密算法 java 编辑:程序博客网 时间:2024/06/10 05:53
先贴代码
着我们采用surfaceview写
package com.mz.demo;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Paint;import android.view.SurfaceHolder;import android.view.SurfaceHolder.Callback;import android.view.SurfaceView;public class MySurfaceView extends SurfaceView implements Callback { private Paint paint; private Canvas canvas; private Bitmap map; private SurfaceHolder sfh; private int[][] test_map0 = { { 1, 1, 1, 1, 1, 1, 4, 1, 1, 4, 4, 1 }, { 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 1, 1 }, { 1, 4, 4, 4, 4, 1, 4, 4, 4, 4, 1, 1 }, { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }, { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }, { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1 }, { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1 }, { 1, 4, 4, 4, 4, 4, 1, 1, 4, 3, 1, 4 }, { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1 }, { 1, 4, 4, 4, 1, 4, 1, 4, 4, 4, 4, 1 }, { 1, 4, 4, 1, 4, 4, 4, 4, 1, 4, 4, 1 }, { 1, 1, 1, 1, 1, 4, 4, 4, 4, 1, 4, 4 }, { 1, 1, 1, 1, 1, 4, 4, 4, 4, 1, 4, 4 } }; private int mapx = 0;// map地图的唯一坐标 private int mapy = 0; private int titleW;// 每一个方块的宽度和高度 private int titleH; private int n=0;// 每一行的方块数量 public MySurfaceView(Context context) { super(context); sfh = this.getHolder(); sfh.addCallback(this); paint = new Paint(); paint.setAntiAlias(true); // 图片资源初始化 map = BitmapFactory.decodeResource(getResources(), R.drawable.map); titleW = 32; titleH = 32; n = map.getWidth() / titleW; } public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) { // TODO Auto-generated method stub } public void surfaceCreated(SurfaceHolder holder) { // TODO Auto-generated method stub myDraw(); } private void myDraw() { // TODO Auto-generated method stub canvas=sfh.lockCanvas();//实例化 //中间代码绘图过程 //i控制行输出,j控制列输出 for(int i=0;i<test_map0.length;i++){ for(int j=0;j<test_map0[i].length;j++){ canvas.save(); //绘制一个矩形可视区域 canvas.clipRect(j*titleW+mapx, i*titleH+mapy, (j+1)*titleW+mapx, (i+1)*titleH+mapy); //在每个矩形区域内,将原地图的指定的模块绘制在矩形区域内 canvas.drawBitmap(map, j*titleW+mapx-((test_map0[i][j]-1)%n)*titleW, i*titleH+mapy-((test_map0[i][j]-1)/n)*titleH, paint); canvas.restore(); } } sfh.unlockCanvasAndPost(canvas);//解锁画布 } public void surfaceDestroyed(SurfaceHolder holder) { // TODO Auto-generated method stub }}
0 0
- android游戏开发 深度解析利用位图绘制rpg地图
- Android学习笔记:RPG游戏地图绘制理解
- Flash游戏开发-RPG地图实现
- AS3 RPG游戏引擎开发日志3:地图坐标转换
- RPG游戏引擎开发日志2:地图坐标转换
- Android游戏开发之地图编辑器的使用以及绘制地图 (四)
- (转)Android游戏开发之地图编辑器的使用以及绘制地图 (四)
- Android游戏开发之地图编辑器的使用以及绘制地图 (四)
- Android游戏开发之地图编辑器的使用以及绘制地图
- 《游戏脚本的设计与开发》-(RPG部分)3.1 RPG地图到底怎么做?
- 《游戏脚本的设计与开发》-(RPG部分)3.1 RPG地图到底怎么做?
- RPG游戏(地图传送)
- RPG游戏滚动地图原理
- Android加载绘制游戏位图文件AssetManager 一看就懂
- Android游戏笔记(四)之绘制位图
- JavaFX战旗类游戏开发 第二课 游戏地图绘制
- Android 游戏开发之Bitmap位图学习
- vc游戏--03--绘制位图
- java实现堆排序
- IOS开发学习-UIScrollView的下拉刷新及单向滚动4
- CentOS下ftp服务器配置andWin7下cuteftppro连接
- 深究AngularJS——下拉框(selected)
- OC对象的内存布局
- android游戏开发 深度解析利用位图绘制rpg地图
- UIWebView监听URL
- 【教程】用花生壳来创建服务器(告别hamachi)
- ActiveXObject 对象
- ViewPager进行抽取,对外直接使用
- KNN分类算法详解
- jquery中clientY,pageY和screenY的区别 最后三张图一目了然。转载的
- android webview填漏洞
- java命名规范