AIR Android开发放大与缩小手势TransformGestureEvent. GESTURE_ZOOM事件

  次阅读 作者:智能小宝 来源:互联网 2016-01-19 12:02 我要评论(0)

处理用户交互,本模块主要介绍了多点触摸相关功能的用法,包括触摸和手势。处理用户交互是AIR Android开发的基础部分,只有设计合理、用户操作符合逻辑的交互,才能增强程序的用户体验。因此,熟练掌握常见的交互手法至关重要。本文为大家介绍 放大与缩小手势。

放大与缩小手势(1)

放大与缩小手势对应TransformGestureEvent. GESTURE_ZOOM事件类型,使用时要求两个手指触摸屏幕,同时向外或向内做放缩动作,如图3-2所示。

图3-2放缩手势

放缩手势操作起来简单且直观,在触摸屏设备上的应用范围很广,比如浏览网页时控制页面上的字体大小,查看地图时控制地图的缩放级别等。

下面的实例程序GestureZoom演示了如何使用ZOOM手势来控制图片的放缩。对loader对象添加手势监听器,事件响应函数根据手势动 作,实现放大或缩小加载的图片。主程序Main.as的代码如下:

package

{

import flash.display.Loader;

import flash.display.Sprite;

import flash.events.Event;

import flash.events.TransformGestureEvent;

import flash.geom.Point;

import flash.net.URLRequest;

public class Main extends AppBase

{

private var loader:Loader;

override protected function init():void

{

//使用Loader对象加载图片

loader = new Loader();

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);

addChild(loader);

//加载目录下的图片

loader.load( new URLRequest("dog.jpg") );

}

//处理加载事件

private function onLoadComplete(e:Event):void

{

loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onLoadComplete);

//判断设备是否支持手势事件

if ( Multitouch.supportsGestureEvents )

{

//对loader对象添加手势事件监听器

loader.addEventListener(TransformGestureEvent.GESTURE_ZOOM, onZoom);

}

}

//响应放缩手势

private function onZoom(e:TransformGestureEvent):void

{

//记录下手势作用点的位置,采用loader对象中的本地坐标

var p:Point = new Point( e.localX, e.localY );

//将坐标转换为父级容器的本地坐标

var parent_p:Point = this.globalToLocal(loader.localToGlobal(p));

//对loader对象做放缩处理

loader.scaleX *= e.scaleX;

loader.scaleY *= e.scaleY;

//loader对象缩放后,p点在loader对象中的坐标没有变,但在父级容器中的坐标已发生变化,因此要//重新计算

var parent_p2:Point = this.globalToLocal(loader.localToGlobal(p));

//移动loader,使得点p在父级容器的坐标保持不变

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...