2012.9.26 安卓游戏开发笔记(十一)_View视图


View游戏框架:

1.继承View这个类,重写绘图函数void  Draw(0;重写按键按下事件onKeyDown();重写按键抬起事件onKeyUp();重写触屏事件函数

2. 绘图函数无论是图形/图片/文本首先都需要一个画布,这个画布作为View里面Draw()的参数传进来,在Draw()中必须还要一个Paint画笔

    设置画笔的颜色等;

	@Override
	protected void onDraw(Canvas canvas) {
		// TODO Auto-generated method stub
		//创建一个画笔
		Paint paint  = new Paint();
		//设置画笔的颜色
		paint.setColor(Color.WHITE);
		//画布本身绘制一个文本
		canvas.drawText("Fuck 小日本", textx, texty, paint);
		super.onDraw(canvas);
	}

3.设置屏幕全屏的方法: 1) 直接在程序中设置this.requestWindowFeature(Window.FEATURE_NO_TITLE);设置没有标  题;

this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 隐去状态的部分 包括电源和一切修饰 

 2) 同样也可以在Manifest中设置,去除标题android:theme = "@android:style/Theme.NoTitlerBar";

设置全屏(隐去状态栏和应用标题)android:theme  ="@android:style/Theme.NoTitleBar.Fullscreen"

4.View设置焦点和"刷屏";焦点的设置主要是告诉程序这个View 要实现交互,方法直接在构造函数中setFocusable(true);  "刷屏"可以自认为一种更新画面不断地更新实现动态的效果;View类本身提供invalidate()和postInvalidate()实现画面的不断更新

5. 触屏监听onTouchEvent(MotionEvent event)针对于各种在屏幕上的手势都可以通过这个函数实现监听;event.getAction()就是当前用户手势,MotionEventt指类定义了很多 触屏的事件

//	@Override
	//这个是完整的触屏侦听
//	public boolean onTouchEvent(MotionEvent event) {
//		// TODO Auto-generated method stub
//		int x = (int) event.getX();
//		int y = (int) event.getY();
//		if(event.getAction() == MotionEvent.ACTION_DOWN){
//			textx = x;
//			texty = y;
//		}else if(event.getAction() == MotionEvent.ACTION_UP){
//			textx = x;
//			texty = y;
//		}else if(event.getAction() == MotionEvent.ACTION_MOVE){
//			textx = x;
//			texty = y;
//			
//		}
//		//重新绘制图形
//		invalidate();
//		return true;
//	}

	//针对于这个文本可以直接采用这种形式
	@Override
	public boolean onTouchEvent(MotionEvent event) {
		// TODO Auto-generated method stub
		textx = (int) event.getX();
		texty = (int) event.getY();
		invalidate();
		return true;
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值