⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 enternamescreen.java

📁 本代码为java编写的泡泡龙游戏
💻 JAVA
字号:

import java.awt.*;
import java.awt.event.*;

public class EnterNameScreen extends GameScreen 
{
	private Image fullBackground;
	private Image splashBackground;
	private Image panelBackground;
	
	private SoundManager soundManager;
	
	private TextSprite playerName;
	private int lastChar;
	
	public EnterNameScreen(GameApplet gameApplet)
	{
		super(gameApplet);
		
		GameMedia media = gameApplet.getGameMedia();
		
		fullBackground = media.loadImage("background.jpg");
		splashBackground = media.loadImage("splash.jpg");
		panelBackground = media.loadImage("void_panel.jpg");
		
		soundManager = (SoundManager)gameApplet.getGameContext().getObject("soundManager");
		
		GameFont font = (GameFont)gameApplet.getGameContext().getObject("bubbleFont");
		this.addSprite(new TextSprite(new Rectangle(226, 380, 184, 22), font, "ENTER YOUR NAME"));
		
		playerName = new TextSprite(new Rectangle(323, 418, 246, 22), font, new String());
		this.addSprite(playerName);
	}
	
	public void initBackground()
	{
		addToBackground(fullBackground, new Point(0, 0));
		addToBackground(splashBackground, new Point(116, 0));	
		addToBackground(panelBackground, new Point(178, 373));
	}	
	
	private boolean isValidChar(int code)
	{
		if (code>=KeyEvent.VK_0 && code<=KeyEvent.VK_9)
		{
			return true;
		}

		if (code>=KeyEvent.VK_A && code<=KeyEvent.VK_Z)
		{
			return true;
		}

		if (code == KeyEvent.VK_SPACE)
		{
			return true;
		}
		
		return false;
	}
	
	public void play(int[] keyCodes, Point mouseCoord, boolean leftButton, boolean rightButton) 
	{
		if (keyCodes.length == 1)
		{
			if (keyCodes[0] != lastChar)
			{
				lastChar = keyCodes[0];				
				
				if (isValidChar(keyCodes[0]))
				{
					if (playerName.getText().length() < 16)
					{
						soundManager.playSound(FrozenBubble.SOUND_TYPEWRITER);

						playerName.addCharacter((char)keyCodes[0]);
						
						int moveRight = playerName.getFont().charSize(playerName.getText().charAt(playerName.getText().length()-1));
						moveRight >>= 1;
						
						playerName.relativeMove(new Point(-moveRight-1, 0));
					}
				}
				else if (keyCodes[0] == KeyEvent.VK_BACK_SPACE || 
						 keyCodes[0] == KeyEvent.VK_DELETE)
				{
					
					if (playerName.getText().length() > 0)
					{
						soundManager.playSound(FrozenBubble.SOUND_TYPEWRITER);
	
						int moveRight = playerName.getFont().charSize(playerName.getText().charAt(playerName.getText().length()-1));
						moveRight >>= 1;						
						
						playerName.removeLastChar();
						
						playerName.relativeMove(new Point(moveRight+1, 0));
					}
				}
				else if (keyCodes[0] == KeyEvent.VK_ESCAPE)
				{
					soundManager.playSound(FrozenBubble.SOUND_TYPEWRITER);
					
					this.getGameApplet().setCurrentScreen(new SplashScreen(getGameApplet()));
				}
				else if (keyCodes[0] == KeyEvent.VK_ENTER)
				{
					soundManager.playSound(FrozenBubble.SOUND_TYPEWRITER);
					
					String outputName = playerName.getText().toLowerCase().trim();
					if (outputName.length() > 0)
					{
						((HighscoreManager)this.getGameApplet().getGameContext().getObject("highscoreManager")).sendRecord(outputName);
					}
					
					this.getGameApplet().setCurrentScreen(new SplashScreen(getGameApplet()));
				}
			}
		}
		else if (keyCodes.length == 0)
		{
			lastChar = 0;
		}
	}	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -