关于Starling的交互响应

本文深入探讨了Starling框架中触摸事件的处理机制,通过使用内部封装的TouchEvent替代传统的MouseDown、MouseMove、MouseUp等事件,实现跨平台的触摸交互。详细解析了触摸事件的不同阶段(如begain、ended、hover、moved、stationary),并提供了实例代码,展示了如何获取触摸坐标点。此教程旨在帮助开发者掌握Starling框架下触摸交互的高效实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于Starling的交互

已经不能使用MouseDown、MouseMove、MouseUp等事件监听了

而Starling提供的是自己封装的TouchEvent,他可以是MouseEvent和TouchEvent结合起来的产物,所以同样的代码基本上可以同时在PC和移动设备上使用

具体如下
_container.addEventListener(TouchEvent.TOUCH,onTouchHandler);

在监听处理方法里面可以获取到TouchEvent
可以参考如下代码

private function onTouchHandler(e:TouchEvent):void
{
var touch:Touch = e.getTouch(stage);
var pos:Point = touch.getLocation(stage);
//当前触摸的阶段
trace ( touch.phase );
//可以获取鼠标或者触摸手指交互的坐标点
_mouseY = pos.y;
_mouseX = pos.x;
}

触摸的阶段具体分一下集中,来区分
1 • began : A mouse or finger starts interacting (similar to a mouse down state).
2 • ended : A mouse or finger stop interacting (similar to a native click state).
3 • hover : A mouse or finger is hovering an object. (similar to a native mouse over state)
4 • moved : A mouse or finger is moving an object (similar to a native mouse down state + a mouse move state).
5 • stationary : A mouse or finger stopped interactng with an object and stays over it.


具体Touch和TouchEvent可以参看Starling的API文档了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值