libdgx学习10

fliping这个函数当用户用手在屏幕上拖拽并且做出翻页动作时触发。

 

 

longPressed 这个很好理解,就是手指的长按动作,用户做出长按动作的时候触发

 

 

pinch收缩,其实就是一个多点触摸的手势且两个手指做出收缩的动作,为了解释方便,

2012-7-15 11:54 上传
下载附件 (8 KB)
 

 

 

4.tap 就是轻击了,和触摸有点类似,不过速度应该比触摸快一些

5.TouchDown
也非常好理解,手指按下的一瞬间就触发,不管其后是什么其他的动作都会触发touchDown()方法,如果时间较短,在touchDown()后会触发tap()

6zoom pinch对应,也是是一个多点触摸的手势,并且两个手指做出放大的动作

7.pan 和fliping比较类似,但是没有最后翻页的动作:

 

 

GestureDetector.GestureListener并不是一个InputProcessor,我们需要封装一个GestureDetector(它是一个InputProcessor)并加入系统监听列表

  1. Gdx.input.setInputProcessor(new GestureDetector(this));

 

 同样的,对于这里有多个对象需要捕捉用户触摸事件的情况(如Progress既实现了InputProcessor接口也实现了GestureDetecotor.Listener),我们实际中的语句如下:

  1. multiplexer.addProcessor(this);
  2.                 multiplexer.addProcessor(stage);
  3.                 multiplexer.addProcessor(new GestureDetector(this));
  4.                 Gdx.input.setInputProcessor(multiplexer);

 

我们来看看这两个回调函数:
  1. boolean pinch(Vector2 initialFirstPointer, Vector2 initialSecondPointer, Vector2 firstPointer, Vector2 secondPointer)
  2. boolean zoom(float originalDistance, float currentDistance)

pinch()方法中用到了一个类,Vector2,我们从名字就可以看出来,这个类代表了一个二维矢量,不过我们可以更简单的理解为Vector2就是一个点,里面有x,y两个坐标。回调函数pinch()里有四个Vector2对象,分别代表动作开始时的两个手指的位置和当前两个手指的位置

 

同理对于zoom()方法也是一样,回调函数里面传入了两个参数,一个是动作开始时两个手指的距离,第二个参数就是当前两个手指之间的距离。   

pinch()方法比zoom()方法更全面,因为我们在pinch()方法中得到的是点的坐标,也可以转化成zoom()中的距离。    

 

 

转载于:https://www.cnblogs.com/androidcn/archive/2012/12/24/2831604.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值