zoukankan      html  css  js  c++  java
  • Cocos2d-android (06) 屏幕触摸事件及坐标转换

    为屏幕添加触摸事件,将左上角坐标转换为左下角坐标

     1 package com.arlen.cocos2d.touch01;
     2 
     3 import org.cocos2d.layers.CCLayer;
     4 import org.cocos2d.nodes.CCDirector;
     5 import org.cocos2d.types.CGPoint;
     6 
     7 import android.view.MotionEvent;
     8 
     9 public class GameLayer extends CCLayer {
    10 
    11     // 接受用户的触摸事件,首先必须对当前图层进行设置
    12 
    13     public GameLayer() {
    14         this.setIsTouchEnabled(true);
    15     }
    16 
    17     // 当用户开始触摸事执行该方法
    18     @Override
    19     public boolean ccTouchesBegan(MotionEvent event) {
    20 
    21         // 以屏幕的左上角为原点
    22         float x = event.getX();
    23         float y = event.getY();
    24 
    25         CGPoint point1 = CGPoint.ccp(x, y);
    26         // 将左上角坐标转换为左下角坐标
    27         CGPoint point2 = CCDirector.sharedDirector().convertToGL(point1);
    28         System.out.println("ccTouchesBegan:");
    29         System.out.println("左上角坐标:" + point1.x + "," + point1.y);
    30         System.out.println("左下角坐标" + point2.x + "," + point2.y);
    31         
    32         return super.ccTouchesBegan(event);
    33     }
    34 
    35     // 当用户手指离开屏幕是执行此方法
    36     @Override
    37     public boolean ccTouchesEnded(MotionEvent event) {
    38         System.out.println("ccTouchesEnded");
    39         return super.ccTouchesEnded(event);
    40     }
    41 
    42     // 当用户手指在屏幕上移动的时候执行此方法
    43     @Override
    44     public boolean ccTouchesMoved(MotionEvent event) {
    45         System.out.println("ccTouchesMoved");
    46         return super.ccTouchesMoved(event);
    47     }
    48 }
  • 相关阅读:
    错误处理
    触发器
    存储过程
    用户自定义函数
    动态 SQL
    临时表
    游标
    流程控制元素
    锁定和阻塞
    Spring内置事件以及自定义事件
  • 原文地址:https://www.cnblogs.com/zhangtingkuo/p/3590150.html
Copyright © 2011-2022 走看看