• android 动画学习系列(一)


    老师今天开始讲android的游戏,讲到了view和surfaceview

    下面是view的演示部分

    private Paint paint;
    	//游戏里很少用double,都是用long
    	private int x=10,y=10;
    	private Thread th;
    	//线程控制
    	private boolean flag;
    	
    	
    	public boolean isFlag() {
    		return flag;
    	}
    	public void setFlag(boolean flag) {
    		this.flag = flag;
    	}
    	public MyView(Context context) {
    		super(context);
    		paint=new Paint();
    		paint.setColor(Color.BLUE);
    		
    		setFocusable(true);
    		setFocusableInTouchMode(true);
    		
    		flag=true;
    		th=new Thread(this);
    		th.start();
    		
    	}
    	@Override
    	protected void onDraw(Canvas canvas) {
    		super.onDraw(canvas);
    		canvas.drawText("点我", x, y, paint);
    	}
    	
    	@Override
    	public boolean onKeyDown(int keyCode, KeyEvent event) {
    		if (keyCode==KeyEvent.KEYCODE_DPAD_DOWN) {
    			System.out.println("down");
    			y++;
    		}
    		//重绘方法
    		invalidate();
    		return super.onKeyDown(keyCode, event);
    	}
    	
    	@Override
    	public boolean onTouchEvent(MotionEvent event) {
    		//必须改为true,否则就会执行一次
    		x=(int) event.getX();
    		y=(int) event.getY();
    		invalidate();
    		return true;
    	}
    	@Override
    	public void run() {
    		
    		while (flag) {
    			System.out.println("run");
    			x++;
    			y++;
    			try {
    				Thread.sleep(50);
    			} catch (InterruptedException e) {
    				e.printStackTrace();
    			}
    			postInvalidate();
    		}
    	}
    	

    演示gif动画,暂无



  • 相关阅读:
    VMware coding Challenge: Coin Toss Betting
    Lintcode: k Sum II
    Lintcode: Interleaving Positive and Negative Numbers
    Lintcode: Insert Node in a Binary Search Tree
    Amazon OA
    Leetcode: Best Time to Buy and Sell Stock IV
    Leetcode: Reverse Words in a String II
    Leetcode: Repeated DNA Sequence
    Leetcode: Rotate Array
    VMware coding Challenge:Date of Weekday
  • 原文地址:https://www.cnblogs.com/fuhaots2009/p/3363336.html
Copyright © 2020-2023  润新知