четверг, 24 мая 2012 г.

Android programming for beginners. "Hangman" the word game developing for android. Touch event

 Continue to make game for android. Previous part

 Today we will learn about how to obtain and handle touch event. If user touch the screen, we must determine the letter under his/her finger. It's math via touch coordinates.

 If there is not picked letter in the word, we will add one to the wrong letter string and mark this. Analogically with right letters.

Because we have not wrote code for drawing word and lives on the screen yet, we write code for letter determining and call unwritten checkLetter method.

 Make onTouchEvent method in custom component class for obtaining and handle screen touch. There is one parameter of this method - the event. Its contain important propertries for touch mining - coordinates of touch point, type, power.  We need only coordinates and type.

 There are three types of singular touch: ACTION_DOWN,  ACTION_MOVE and ACTION_UP. If we handle all touch events, we make 2 calls (ACTION_DOWN and ACTION_UP) instead 1. Because we must check, that type of touch is one of this. For example, ACTION_DOWN.

    public boolean onTouchEvent(MotionEvent event){
        if(event.getAction()==event.ACTION_DOWN){//comparing type of action with constant 
           int x;//row of picked letter
           int y;//line of picked letter
           double red_height=(1-off_const)*height;//we have determined this variable before. It's part of height with letters
           x=(int) Math.floor( (event.getX()/((width/(double)rows))) );//Divide X to row width and floor this
           y=(int) Math.floor( ((event.getY()-off_const*height)/(red_height/(double)columns)) );//Analogically
           String letter;//Letter determining
               letter=alphabet.charAt(y*rows+x)+"";//Try get letter via row and line
           catch(Exception e){
               letter="";//May be, user have clicked not in letter. We must return in this way
           if (letter.length()==1){
        return true; 
Next part

Download source of the game

Комментариев нет:

Отправить комментарий

Related Posts Plugin for WordPress, Blogger...