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;
    			}
    		}
    
    	}
    }
    
  • 相关阅读:
    「2019.7.25 考试」偶然发生
    「刷题」可怜与STS
    「刷题」小星星
    「刷题」数三角形
    「刷题」 关于线段上的整点个数
    「刷题」Color 群论
    「2019.7.22 考试」AC和WA0一步之遥
    「刷题」幸运数字
    「刷题」卡特兰数&prufer序列
    「刷题」一个人的数论
  • 原文地址:https://www.cnblogs.com/602147629/p/1928925.html
Copyright © 2011-2022 走看看