Advertisement
Guest User

Untitled

a guest
May 24th, 2015
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.13 KB | None | 0 0
  1. import flash.display.ActionScriptVersion;
  2. import flash.display.Loader;
  3. import fl.motion.Color;
  4. import flash.display.Stage;
  5. import flash.display.MovieClip;
  6. import flash.events.Event;
  7.  
  8. var mousePressed:Boolean = false; //keeps track of whether the mouse is currently pressed down
  9. var delayCounter:int = 0; //we use this to add delay between the shots
  10. var delayMax:int = 8; //try changing this number to shoot more or less rapidl
  11.  
  12. //how much time before allowed to shoot again
  13. var cTime:int = 0;
  14. //the time it has to reach in order to be allowed to shoot (in frames)
  15. var cLimit:int = 12;
  16. var enemyTime:int = 0;
  17. var enemyLimit:int = 16;
  18. //whether or not the user is allowed to shoot
  19. var shootAllow:Boolean = true;
  20. var bulletList:Array = [];
  21. var enemies: Array = new Array();
  22. var cores: Array = new Array("0xf2ed64", "0x2c3d07", "0x7cb2c3", "0xe4452f");
  23.  
  24.  
  25. Main();
  26.  
  27. //muusic
  28. //var req:URLRequest = new URLRequest("musica.mp3");
  29. //var s:Sound = new Sound(req);
  30. //s.play();
  31.  
  32.  
  33. //planeta e canhao !!
  34. var mcMain: Loader = new Loader();
  35. mcMain.load(new URLRequest("novo_potato.png"));
  36.  
  37. var i:Number = 95;
  38.  
  39. addChild(mcMain);
  40. trace(stage.width);
  41. trace(stage.height);
  42.  
  43. mcMain.x = 150;
  44. mcMain.y = 75;
  45.  
  46. //these booleans will check which keys are down
  47. var leftDown:Boolean = false;
  48. var upDown:Boolean = false;
  49. var rightDown:Boolean = false;
  50. var downDown:Boolean = false;
  51. //how fast the character will be able to go
  52. var mainSpeed:int = 5;
  53.  
  54. //adding a listener to mcMain that will move the character
  55. mcMain.addEventListener(Event.ENTER_FRAME, moveChar);
  56.  
  57. function RandomWithinRange(min:Number, max:Number):Number
  58. {
  59. return Math.random() * (max - min) + min;
  60. }
  61.  
  62. function moveChar(event:Event):void{
  63. //checking if the key booleans are true then moving
  64. //the character based on the keys
  65.  
  66. if(leftDown){
  67. rotateAroundCenter(mcMain, -(i/10));
  68. i : i++;
  69. if(i>100){
  70. i = 100;
  71. }
  72. }
  73.  
  74. if(rightDown){
  75. rotateAroundCenter(mcMain,(i/10));
  76. i : i++;
  77. if(i>100){
  78. i = 100;
  79. }
  80. }
  81. //Incrementing the cTime
  82.  
  83. //checking if cTime has reached the limit yet
  84. if(cTime < cLimit){
  85. cTime ++;
  86. } else {
  87. //if it has, then allow the user to shoot
  88. shootAllow = true;
  89. //and reset cTime
  90. cTime = 0;
  91. }
  92.  
  93. //adding enemies to stage
  94. if(enemyTime < enemyLimit){
  95. //if time hasn't reached the limit, then just increment
  96. enemyTime ++;
  97. } else {
  98.  
  99. var n: uint = RandomWithinRange(0,4);
  100. var nCor: uint = RandomWithinRange(0,4);
  101. //defining a variable which will hold the new enemy
  102. var newEnemy = new Enemy();
  103.  
  104. // create a Color object
  105. var c:Color = new Color();
  106. // set the color of the tint and set the multiplier/alpha
  107. if(nCor == 0){
  108. c.setTint(cores[0], 0.3);
  109. } else if(nCor == 1){
  110. c.setTint(cores[1], 0.3);
  111. } else if(nCor == 2){
  112. c.setTint(cores[2], 0.3);
  113. } else if(nCor == 3){
  114. c.setTint(cores[3], 0.3);
  115. }
  116. // apply the tint to the colorTransform property of the
  117. // desired MovieClip/DisplayObject
  118. newEnemy.transform.colorTransform = c;
  119. trace("//");
  120. trace(n);
  121.  
  122. //making the enemy offstage when it is created
  123.  
  124. //making the enemy's x coordinates random
  125. //the "int" function will act the same as Math.floor but a bit faster
  126.  
  127. if(n == 0){
  128. newEnemy.x = int(Math.random()*(stage.width - (newEnemy.width/2)));
  129. newEnemy.y = -1 * newEnemy.height;
  130. } else if(n == 1){
  131. newEnemy.y = int(Math.random()*(stage.height - (newEnemy.height/2)));
  132. newEnemy.x = -1 * newEnemy.width;
  133. } else if(n == 2){
  134. newEnemy.x = int(Math.random()*(stage.width - (newEnemy.width/2)));
  135. newEnemy.y = stage.height + newEnemy.height;
  136. } else if(n == 3){
  137. newEnemy.y = int(Math.random()*(stage.height - (newEnemy.height/2)));
  138. newEnemy.x = stage.width + newEnemy.width;
  139. }
  140.  
  141. trace(newEnemy.x);
  142. trace(newEnemy.y);
  143.  
  144. enemies.push(newEnemy);
  145. addChildAt(newEnemy,2);
  146. //and reset the enemyTime
  147. enemyTime = 0;
  148. }
  149. CheckForCollision();
  150.  
  151. }
  152.  
  153. //this listener will listen for down keystrokes
  154. stage.addEventListener(KeyboardEvent.KEY_DOWN, checkKeysDown);
  155. function checkKeysDown(event:KeyboardEvent):void{
  156. //making the booleans true based on the keycode
  157. //WASD Keys or arrow keys
  158. if(event.keyCode == 37 || event.keyCode == 65){
  159. leftDown = true;
  160. }
  161. if(event.keyCode == 39 || event.keyCode == 68){
  162. rightDown = true;
  163. }
  164.  
  165. //checking if the space bar is pressed and shooting is allowed
  166. if(event.keyCode == 32 && shootAllow){
  167. //making it so the user can't shoot for a bit
  168. shootAllow = false;
  169. //declaring a variable to be a new Bullet
  170. var newBullet:Bullet = new Bullet(stage,270,200,mcMain.rotation);
  171. //changing the bullet's coordinates
  172. shootBullet();
  173. var bullet_sound:URLRequest = new URLRequest("shot.mp3");
  174. var s:Sound = new Sound(bullet_sound);
  175. s.play();
  176. //then we add the bullet to stage
  177. //addChild(newBullet);
  178. }
  179. }
  180.  
  181.  
  182. function shootBullet():void //delete the "e:MouseEvent" parameter
  183. {
  184. var bullet:Bullet = new Bullet(stage, 270, 200, mcMain.rotation);
  185. bullet.addEventListener(Event.REMOVED_FROM_STAGE, bulletRemoved, false, 0, true);
  186. bulletList.push(bullet);
  187. addChildAt(bullet,1);
  188. }
  189.  
  190. function bulletRemoved(e:Event):void
  191. {
  192. e.currentTarget.removeEventListener(Event.REMOVED_FROM_STAGE, bulletRemoved);
  193. bulletList.splice(bulletList.indexOf(e.currentTarget),1);
  194. }
  195.  
  196. function CheckForCollision(){
  197. for(var i:int=0; i < enemies.length; i++){
  198. for(var j:int =0; j < bulletList.length; j++){
  199. if( enemies[i].hitTestObject(bulletList[j]) ){
  200. removeChild(enemies[i]);
  201. enemies[i] = null;
  202. enemies.splice(i, 1);
  203. removeChild(bulletList[j]);
  204. bulletList[j] = null;
  205. bulletList.splice(j, 1);
  206. }
  207. }
  208. }
  209. }
  210.  
  211. //this listener will listen for keys being released
  212. stage.addEventListener(KeyboardEvent.KEY_UP, checkKeysUp);
  213. function checkKeysUp(event:KeyboardEvent):void{
  214. //making the booleans false based on the keycode
  215. if(event.keyCode == 37 || event.keyCode == 65){
  216. leftDown = false;
  217. }
  218. if(event.keyCode == 39 || event.keyCode == 68){
  219. rightDown = false;
  220. }
  221. }
  222.  
  223. function rotateAroundCenter(object: DisplayObject, angleDegrees: Number): void {
  224. if (object.rotation == angleDegrees) {
  225. return;
  226. }
  227.  
  228. var matrix: Matrix = object.transform.matrix;
  229. var rect: Rectangle = object.getBounds(object.parent);
  230.  
  231. matrix.translate(-(rect.left + (rect.width / 2)), -(rect.top + (rect.height / 2)));
  232. matrix.rotate((angleDegrees / 180) * Math.PI);
  233. matrix.translate(rect.left + (rect.width / 2), rect.top + (rect.height / 2));
  234. object.transform.matrix = matrix;
  235.  
  236. object.rotation = Math.round(object.rotation);
  237. }
  238.  
  239.  
  240. function Main():void
  241. {
  242.  
  243. //stage.addEventListener(MouseEvent.CLICK, shootBullet, false, 0, true); //remove this
  244. stage.addEventListener(KeyboardEvent.KEY_DOWN, mouseDownHandler, false, 0, true);
  245. stage.addEventListener(KeyboardEvent.KEY_DOWN, mouseUpHandler, false, 0, true);
  246.  
  247. stage.addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
  248. }
  249.  
  250. function loop(e:Event):void
  251. {
  252. if(mousePressed) // as long as the mouse is pressed...
  253. {
  254. delayCounter++; //increase the delayCounter by 1
  255. if(delayCounter == delayMax) //if it reaches the max...
  256. {
  257. shootBullet(); //shoot a bullet
  258. delayCounter = 0; //reset the delay counter so there is a pause between bullets
  259. }
  260. }
  261.  
  262. if(bulletList.length > 0)
  263. {
  264. for(var i:int = bulletList.length-1; i >= 0; i--)
  265. {
  266. bulletList[i].loop();
  267. }
  268. }
  269. }
  270.  
  271. function mouseDownHandler(e:KeyboardEvent):void //add this function
  272. {
  273. mousePressed = true; //set mousePressed to true
  274. }
  275.  
  276. function mouseUpHandler(e:KeyboardEvent):void //add this function
  277. {
  278. mousePressed = false; //reset this to false
  279. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement