public void active(DirKey key,int speed,int screenWidth,int screenHeight){
		if( alive ){
			final int OFFSET = 25;
			if( key!=DirKey.Else ){
				//̹˷,ͼʱ
				lastDir = key;
			}
			
			if( key==DirKey.Up ){
				if( this.y>OFFSET ){
					this.y = this.y - speed;
				}
				
			}
			else if( key==DirKey.Down ){
				if( this.y<screenHeight-HEIGHT ){
					this.y = this.y + speed;
				}
			}
			else if( key==DirKey.Left ){
				if( this.x>0 ){
					this.x = this.x - speed;
				}
			}
			else if( key==DirKey.Right ){
				if( this.x<screenWidth-WIDTH ){
					this.x = this.x + speed;
				}
			}
		}
		else{
			final int RANGE = 3;
			final int MAX_COUNT = 25;
			if( deadStatus==DEAD_1 ){
				cx = cx - RANGE;
				cy = cy - RANGE;
				cwidth = cwidth + 2*RANGE;
				cheight = cheight + 2*RANGE;
				count++;
				if( count>=MAX_COUNT ){
					deadStatus=DEAD_2;
					count=0;
				}
			}
			else if( deadStatus==DEAD_2 ){
				cx = cx + RANGE;
				cy = cy + RANGE;
				cwidth = cwidth - 2*RANGE;
				cheight = cheight - 2*RANGE;
				count++;
				if( count>=MAX_COUNT ){
					deadStatus++;
					deadFinish = true;
				}
			}
		}

	}