10 | 11 | ||
---|---|---|---|
4 | import Class.Screens.Level; | 4 | import Class.Screens.Level; |
5 | import flash.display.MovieClip; | 5 | import flash.display.MovieClip; |
6 | import flash.events.Event; | 6 | import flash.events.Event; |
7 | import flash.events.TimerEvent; | ||
7 | import flash.utils.Timer; | 8 | import flash.utils.Timer; |
8 | /** | 9 | /** |
9 | * ... | 10 | * ... |
... | ... | ||
11 | */ | 12 | */ |
12 | public class Bubblegum extends MovieClip | 13 | public class Bubblegum extends MovieClip |
13 | { | 14 | { |
14 | private var _enemyReference:GenericEnemy; | 15 | private var _activeTimer:Timer = new Timer(1000, 4); |
15 | private var _timeAlive:Timer = new Timer(1000, 4); | ||
16 | private var _countTimer:Number = 0; | 16 | private var _countTimer:Number = 0; |
17 | private var _imActive:Boolean = false; | 17 | private var _imActive:Boolean = false; |
18 | private var _enemyReference:GenericEnemy; | ||
19 | private var _enemyLastXSpeed:Number; | ||
20 | private var _haveEnemy:Boolean = false; | ||
18 | 21 | ||
19 | public function Bubblegum(enemyReference:GenericEnemy) | 22 | public function Bubblegum(xPos, yPos) |
20 | { | 23 | { |
21 | _enemyReference = enemyReference | 24 | Level._level.addChildAt(this, 0); |
22 | Level._level.addChild(this); | 25 | this.x = xPos; |
26 | this.y = yPos; | ||
23 | _imActive = true; | 27 | _imActive = true; |
24 | _timeAlive.addEventListener(Event.ACTIVATE, desactiveMe); | 28 | _activeTimer.addEventListener(TimerEvent.TIMER , desactiveMe); |
25 | 29 | ||
26 | } | 30 | } |
27 | 31 | ||
... | ... | ||
31 | if (_countTimer == 4) | 35 | if (_countTimer == 4) |
32 | { | 36 | { |
33 | _countTimer = 0; | 37 | _countTimer = 0; |
38 | _enemyReference.xSpeed = _enemyLastXSpeed; | ||
39 | killYourSelf(); | ||
34 | } | 40 | } |
35 | } | 41 | } |
36 | 42 | ||
... | ... | ||
39 | _imActive = false; | 45 | _imActive = false; |
40 | Level._itemActivedType = ""; | 46 | Level._itemActivedType = ""; |
41 | Level._arrayOfItensBeingUsed.splice(Level._arrayOfItensBeingUsed.indexOf(this), 1); | 47 | Level._arrayOfItensBeingUsed.splice(Level._arrayOfItensBeingUsed.indexOf(this), 1); |
42 | _timeAlive.stop(); | 48 | _activeTimer.stop(); |
43 | _timeAlive.removeEventListener(TimerEvent.TIMER, desactiveMe); | 49 | _activeTimer.removeEventListener(TimerEvent.TIMER, desactiveMe); |
50 | _haveEnemy = false; | ||
51 | | ||
44 | while (this.numChildren) | 52 | while (this.numChildren) |
45 | { | 53 | { |
46 | this.removeChildAt(0); | 54 | this.removeChildAt(0); |
... | ... | ||
49 | 57 | ||
50 | public function update():void | 58 | public function update():void |
51 | { | 59 | { |
60 | for (var i:uint = 0; i < Level._enemyArray.length; i++) | ||
61 | { | ||
62 | if (!_haveEnemy) | ||
63 | { | ||
64 | if (this.hitTest.hitTestObject(Level._enemyArray[i])) | ||
65 | { | ||
66 | _haveEnemy = true; | ||
67 | _activeTimer.start(); | ||
68 | _enemyReference = Level._enemyArray[i]; | ||
69 | _enemyLastXSpeed = _enemyReference.xSpeed; | ||
70 | _enemyReference.xSpeed = 0; | ||
71 | } | ||
72 | } | ||
73 | |||
74 | } | ||
52 | 75 | ||
53 | } | 76 | } |
54 | 77 |