当前位置:  编程技术>移动开发
本页文章导读:
    ▪制造STG游戏的初步构思        制作STG游戏的初步构思 计划第二个游戏是做STG题材的游戏,内容未定(我首先想到的是叉子=_=b)。前几天看到github上有个叫Danmaku的开源项目(用lwjgl写的),我把它移植成用Android的SurfaceView.........
    ▪ matrix施用:平移        matrix使用:平移 android绘图中使用的矩阵是3x3的结构。矩阵元素的功能:先挑与平移有关的看。观察矩阵元素功能可知,如果绘制的图形平移到[x, y], 则只需要修改矩阵右上角的2个元素就可以.........
    ▪ ContentValues种       ContentValues类 什么是 ContentValues类? ContentValues类和 Hashtable比较类似,它也是负责存储一些名值对,但是它存储的名值对当中的名是一个String类型,而值都是基本类型。 插入记录 在这里我.........

[1]制造STG游戏的初步构思
    来源: 互联网  发布时间: 2014-02-18
制作STG游戏的初步构思

计划第二个游戏是做STG题材的游戏,内容未定(我首先想到的是叉子=_=b)。前几天看到github上有个叫Danmaku的开源项目(用lwjgl写的),我把它移植成用Android的SurfaceView实现,觉得效果还可以,如图:

 


 

当然我希望我的能做得更可爱些,不要弄得那么难玩。

 

 


    
[2] matrix施用:平移
    来源: 互联网  发布时间: 2014-02-18
matrix使用:平移
android绘图中使用的矩阵是3x3的结构。



矩阵元素的功能:



先挑与平移有关的看。观察矩阵元素功能可知,如果绘制的图形平移到[x, y], 则只需要修改矩阵右上角的2个元素就可以了。

编写一个继承了view的TransView来验证,以下是onDraw()方法。

	@Override
	protected void onDraw(Canvas canvas) {
		super.onDraw(canvas);
		
		Paint paint = new Paint();
		paint.setColor(Color.RED);
		
		//在点(50,50)绘制半径为5的红色正圆
		canvas.drawCircle(50, 50, 5, paint);

		//在点(200,200)绘制半径为15的红色正圆
		canvas.drawCircle(200, 200, 15, paint);
		
		
		Matrix matrix = new Matrix();
		
		//与 matrix.setTranslate(200, 200)等价
		{
			float[] values = {	1, 0, 200, 
							  	0, 1, 200, 
							  	0, 0, 1	};
			matrix.setValues(values);
		}
		
		Log.i("TransView", "" + matrix.toString());
		
		
		canvas.save();
		
		//画布在x轴移动200,y轴移动200后绘制半径为10的黑色正圆
		canvas.setMatrix(matrix);
		paint.setColor(Color.BLACK);
		canvas.drawCircle(0, 0, 10, paint);
		
		canvas.restore();
	}

效果图:




从log看也可以验证之前的结论。

但从效果图中看,通过matrix绘制的图形坐标有偏移,比起直接在坐标(200, 200)绘制的正圆,y坐标小了70,这点十分奇怪,苦思不得其解,需要继续跟进。



    
[3] ContentValues种
    来源: 互联网  发布时间: 2014-02-18
ContentValues类

什么是 ContentValues类? 

ContentValues类和 Hashtable比较类似,它也是负责存储一些名值对,但是它存储的名值对当中的名是一个String类型,而值都是基本类型。 

插入记录 

在这里我们将要插入的值都放到一个ContentValues的实例当中,然后执行插入操作,具体代码如下所示: 

Java代码 
public long createDiary(String title, String body) {     
        ContentValues initialValues = new ContentValues();     
        initialValues.put(KEY_TITLE, title);     
        initialValues.put(KEY_BODY, body);     
         Calendar calendar =  Calendar.getInstance();     
  // 生成年月日字符串     
           String created = calendar.get(Calendar.YEAR)   
     +年+calendar.get(Calendar. MONTH)+月+calendar.get   
     (Calendar.DAY_OF_MONTH)+日+calendar.get(Calendar.   
     HOUR_OF _DAY)+时+calendar.get(Calendar.MINUTE)+分;     
          initialValues.put(KEY_CREATED, created);     
          return mDb.insert(DATABASE_TABLE, null, initialValues);     
  }   

public long createDiary(String title, String body) {  
         ContentValues initialValues = new ContentValues();  
         initialValues.put(KEY_TITLE, title);  
         initialValues.put(KEY_BODY, body);  
          Calendar calendar =  Calendar.getInstance();  
   // 生成年月日字符串  
            String created = calendar.get(Calendar.YEAR) 
      +年+calendar.get(Calendar. MONTH)+月+calendar.get 
      (Calendar.DAY_OF_MONTH)+日+calendar.get(Calendar. 
      HOUR_OF _DAY)+时+calendar.get(Calendar.MINUTE)+分;  
           initialValues.put(KEY_CREATED, created);  
           return mDb.insert(DATABASE_TABLE, null, initialValues);  
   }  

代码解释: 

ContentValues initialValues = new ContentValues()语句实例化一个contentValues类。 

initialValues.put(KEY_TITLE, title)语句将列名和对应的列值放置到initialValues里边。 

mDb.insert(DATABASE_TABLE, null, initialValues)语句负责插入一条新的纪录,如果插入成功则会返回这条记录的id,如果插入失败会返回-1。 


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3