zoukankan      html  css  js  c++  java
  • 键盘按下 子弹射击 (有间隔)

    /*文档类*/
    package 
    {
    	import flash.display.Sprite;
    	import flash.events.KeyboardEvent;
    	import flash.events.Event;
    	import flash.ui.Keyboard;
    
    	public class Main extends Sprite
    	{
    
    		private var flag:Boolean = true;
    		private var bulletArr:Array = new Array  ;
    		private var bullet:Bullet;
    		private var time:int;
    
    		public function Main()
    		{
    			stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownHandler);
    			stage.addEventListener(KeyboardEvent.KEY_UP,keyUpHandler);
    			addEventListener(Event.ENTER_FRAME,enterFrameHandler);
    		}
    
    		private function keyDownHandler(e:KeyboardEvent):void
    		{
    			if (e.keyCode == Keyboard.SPACE)
    			{
    				if(time==0)
    				{
    					fire();
    				}
    				time++;
    				//flag = false;
    				if (time % 5 == 0)
    				{
    					fire();
    				}
    			}
    			else if (e.keyCode == Keyboard.A)
    			{
    				mc.x -=  5;
    			}
    			else if (e.keyCode == Keyboard.D)
    			{
    				mc.x +=  5;
    			}
    		}
    
    		private function keyUpHandler(e:KeyboardEvent):void
    		{
    			if (e.keyCode == Keyboard.SPACE)
    			{
    				//flag = true;
    				time = 0;
    			}
    		}
    
    		private function enterFrameHandler(e:Event):void
    		{
    			for (var i:int=0; i<bulletArr.length; i++)
    			{
    				if (bulletArr[i].y < 0)
    				{
    					removeChild(bulletArr[i]);
    					bulletArr.splice(i,1);
    				}
    			}
    		}
    
    		private function fire():void
    		{
    			bullet = new Bullet(10,10,0XFF0000);
    			bullet.x = mc.x;
    			bullet.y = mc.y;
    			addChild(bullet);
    			bulletArr.push(bullet);
    		}
    
    	}
    
    }
    
    /*子弹类*/
    package 
    {
    	import flash.display.Sprite;
    	import flash.events.Event;
    
    	public class Bullet extends Sprite
    	{
    		private var _Number;
    		private var _height:Number;
    		private var color:uint;
    		private var bullet:Bullet;
    
    		public function Bullet(_Number=10,_height:Number=10,color:uint=0XFF0000)
    		{
    			this._width = _width;
    			this._height = _height;
    			this.color = color;
    			drawBullet();
    			addEventListener(Event.ENTER_FRAME,enterFrameHandler,false,0,true);
    		}
    
    
    		private function drawBullet():void
    		{
    			graphics.beginFill(color);
    			graphics.drawRect(0,0,_width,_height);
    			graphics.endFill();
    		}
    
    		private function enterFrameHandler(e:Event):void
    		{
    			if (this.y >-10)
    			{
    				this.y -=  5;
    			}
    		}
    
    	}
    }
    
  • 相关阅读:
    JavaWeb_Tomcat_Maven!
    java异常!
    JavaWeb获取web.xml初始参数!getInitParameter
    JavaWeb文件下载!
    Java抽象接口!
    JavaWeb初识Servlet!
    关于HashMap以对象作为Key的实现及踩坑
    浅析.Net下的多线程编程(2)
    获取浏览器分辨率
    浅析.Net下的多线程编程(1)
  • 原文地址:https://www.cnblogs.com/602147629/p/1928925.html
Copyright © 2011-2022 走看看