首页 > 移动平台 > 详细

Cocos2d-android (06) 屏幕触摸事件及坐标转换

时间:2014-03-11 09:56:04      阅读:575      评论:0      收藏:0      [点我收藏+]

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

bubuko.com,布布扣
 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 }
bubuko.com,布布扣

Cocos2d-android (06) 屏幕触摸事件及坐标转换,布布扣,bubuko.com

Cocos2d-android (06) 屏幕触摸事件及坐标转换

原文:http://www.cnblogs.com/zhangtingkuo/p/3590150.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!