Flex 学习小结之 air multi touch
Copyright by reasonpun
2010-11-30
Muti-touch Demo in Adobe Air 2
• 准备环境: flash builder 4 & air 2+
• Air2 :
http://blogs.adobe.com/air/2010/06/adobe_air_2_sd...
开始 multi-touch 吧
• 首先我们需要创建 Air 工程
• 剩余的就是下一步,然后
点击完成就可以了。
开始编码
• 载入容器
• 我们这里使用的 Sprite
• 调用的方法:
import mx.core.UIComponent;
var mysprite:Sprite = new Sprite();
mysprite.graphics.be...
开始编码
调用多点触摸代码
Multitouch.inputMode = MultitouchInputMode.GESTURE;
// 多点移动
mysprite.addEventListener(TransformGestureEvent....
开始编码
具体代码:
public function
onPan(evt:TransformGestureEvent):void {} 方法,其
中定义了一个全局的变量
public var myTextField:TextField = ne...
开始编码
if(evt.offsetX < 0){
myTextField.x-=10;
}
else if(evt.offsetX == 0){ }
Else{
myTextField.x+=10;
}
开始编码
具体代码:
public function
onZoom(evt:TransformGestureEvent):void {} 方法,
其中定义了一个全局的变量
public var myTextField:TextField = n...
开始编码
if(evt.scaleX > 1 && evt.scaleY > 1) {
myTextArea.height++;
myTextArea.width++;
}Else{
myTextArea.height--;
myTextAre...
开始编码
具体代码:
public function
onRotate(evt:TransformGestureEvent):void {} 方法,
其中定义了一个全局的变量
public var myTextField:TextField =...
开始编码
if(evt.rotation > 0){
myTextField.rotationZ +=10;
}Else{
myTextField.rotationZ -=10;
}
完活
• 此时运行就可以看到效果了
,记得要在 sprite 区域中进
行操作,因为事件是定义在
这个区域里的。
• 其他没什么了,接下来研究
怎么通过 flex 应用实现
multi touch 。
Upcoming SlideShare
Loading in …5
×

multi-touch in air2

929 views
835 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
929
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

multi-touch in air2

  1. 1. Flex 学习小结之 air multi touch Copyright by reasonpun 2010-11-30
  2. 2. Muti-touch Demo in Adobe Air 2 • 准备环境: flash builder 4 & air 2+ • Air2 : http://blogs.adobe.com/air/2010/06/adobe_air_2_sdk_now_av 需要下载他的 sdk2.0 以上版本,貌似只有 2.0 以上版本支 持! (另外,文档提示支持基于 Flash player10+ ,Flash lite4 , 不过我没实验出来,再议)
  3. 3. 开始 multi-touch 吧 • 首先我们需要创建 Air 工程 • 剩余的就是下一步,然后 点击完成就可以了。
  4. 4. 开始编码 • 载入容器 • 我们这里使用的 Sprite • 调用的方法: import mx.core.UIComponent; var mysprite:Sprite = new Sprite(); mysprite.graphics.beginFill(0x336699); mysprite.graphics.drawRect(0, 0, 1000, 800); var uc:UIComponent = new UIComponent(); uc.width=600; uc.height=500; uc.addChild(mysprite) ; this.addElement(uc);
  5. 5. 开始编码 调用多点触摸代码 Multitouch.inputMode = MultitouchInputMode.GESTURE; // 多点移动 mysprite.addEventListener(TransformGestureEvent.GES TURE_PAN , onPan); // 旋转 mysprite.addEventListener(TransformGestureEvent.GES TURE_ROTATE , onRotate ); // 缩放 mysprite.addEventListener(TransformGestureEvent.GES TURE_ZOOM , onZoom);
  6. 6. 开始编码 具体代码: public function onPan(evt:TransformGestureEvent):void {} 方法,其 中定义了一个全局的变量 public var myTextField:TextField = new TextField(); 通过判断 offsetX 的值的正负修改该控件 x 坐标
  7. 7. 开始编码 if(evt.offsetX < 0){ myTextField.x-=10; } else if(evt.offsetX == 0){ } Else{ myTextField.x+=10; }
  8. 8. 开始编码 具体代码: public function onZoom(evt:TransformGestureEvent):void {} 方法, 其中定义了一个全局的变量 public var myTextField:TextField = new TextField(); 通过判断 scaleX 的值是否大于 1 修改该控件的长,宽
  9. 9. 开始编码 if(evt.scaleX > 1 && evt.scaleY > 1) { myTextArea.height++; myTextArea.width++; }Else{ myTextArea.height--; myTextArea.width--; }
  10. 10. 开始编码 具体代码: public function onRotate(evt:TransformGestureEvent):void {} 方法, 其中定义了一个全局的变量 public var myTextField:TextField = new TextField(); 通过判断 rotation 的值是否大于 0 修改该控件的 rotationZ 值。
  11. 11. 开始编码 if(evt.rotation > 0){ myTextField.rotationZ +=10; }Else{ myTextField.rotationZ -=10; }
  12. 12. 完活 • 此时运行就可以看到效果了 ,记得要在 sprite 区域中进 行操作,因为事件是定义在 这个区域里的。 • 其他没什么了,接下来研究 怎么通过 flex 应用实现 multi touch 。

×