This repository has been archived by the owner on Oct 14, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
MobileInput.as
66 lines (46 loc) · 1.59 KB
/
MobileInput.as
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package
{
import citrus.core.CitrusEngine;
import citrus.core.starling.StarlingCitrusEngine;
import citrus.input.Input;
import starling.events.Touch;
import starling.events.TouchEvent;
import starling.events.TouchPhase;
/**
* @author Aymeric
*/
public class MobileInput extends Input {
private var _screenTouched:Boolean = false;
public function MobileInput() {
super();
}
override public function destroy():void {
(_ce as StarlingCitrusEngine).starling.stage.removeEventListener(TouchEvent.TOUCH, _touchEvent);
super.destroy();
}
override public function set enabled(value:Boolean):void {
super.enabled = value;
_ce = CitrusEngine.getInstance();
if (enabled)
(_ce as StarlingCitrusEngine).starling.stage.addEventListener(TouchEvent.TOUCH, _touchEvent);
else
(_ce as StarlingCitrusEngine).starling.stage.removeEventListener(TouchEvent.TOUCH, _touchEvent);
}
override public function initialize():void {
super.initialize();
_ce = CitrusEngine.getInstance();
(_ce as StarlingCitrusEngine).starling.stage.addEventListener(TouchEvent.TOUCH, _touchEvent);
}
private function _touchEvent(tEvt:TouchEvent):void {
var touchStart:Touch = tEvt.getTouch((_ce as StarlingCitrusEngine).starling.stage, TouchPhase.BEGAN);
var touchEnd:Touch = tEvt.getTouch((_ce as StarlingCitrusEngine).starling.stage, TouchPhase.ENDED);
if (touchStart)
_screenTouched = true;
if (touchEnd)
_screenTouched = false;
}
public function get screenTouched():Boolean {
return _screenTouched;
}
}
}