加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

屏蔽多点触摸

发布时间:2020-12-14 21:25:28 所属栏目:百科 来源:网络整理
导读:环境 cocos2d-x-3.1.1 ios版本 找到 AppController.mm 修改方法 -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 中 [eaglView setMultipleTouchEnabled: YES] 改成 [eaglView setMultipleTo

环境 cocos2d-x-3.1.1


ios版本

找到 AppController.mm

修改方法 -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 中


[eaglView setMultipleTouchEnabled: YES] 改成[eaglView setMultipleTouchEnabled: false]



android版本

找到

cocos2d-xcocosplatformandroidjavasrcorgcocos2dxlibCocos2dxGLSurfaceView.java

在方法 public boolean onTouchEvent(final MotionEvent pMotionEvent) 中添加两句

switch (pMotionEvent.getAction() & MotionEvent.ACTION_MASK) {
			case MotionEvent.ACTION_POINTER_DOWN:
				if (pointerNumber>1) return false;//add 屏蔽多点触摸
				final int indexPointerDown = pMotionEvent.getAction() >> MotionEvent.ACTION_POINTER_INDEX_SHIFT;
				final int idPointerDown = pMotionEvent.getPointerId(indexPointerDown);
				final float xPointerDown = pMotionEvent.getX(indexPointerDown);
				final float yPointerDown = pMotionEvent.getY(indexPointerDown);

				this.queueEvent(new Runnable() {
					@Override
					public void run() {
						Cocos2dxGLSurfaceView.this.mCocos2dxRenderer.handleActionDown(idPointerDown,xPointerDown,yPointerDown);
					}
				});
				break;

			case MotionEvent.ACTION_DOWN:
				if (pointerNumber>1) return false;//add 屏蔽多点触摸
				// there are only one finger on the screen
				final int idDown = pMotionEvent.getPointerId(0);
				final float xDown = xs[0];
				final float yDown = ys[0];

				this.queueEvent(new Runnable() {
					@Override
					public void run() {
						Cocos2dxGLSurfaceView.this.mCocos2dxRenderer.handleActionDown(idDown,xDown,yDown);
					}
				});
				break;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读