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

📄 main.java

📁 java tutorial all about java game design
💻 JAVA
字号:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Main extends Applet implements Runnable, KeyListener, MouseListener, MouseMotionListener
{
	private int speed;

	int currentLine;

	// Spielthread
	private Thread th;

	// Variablen f黵 die Doppelpufferung
	private Image dbImage;
	private Graphics dbg;

	public void init()
	{
		setBackground(Color.blue);

		currentLine = 10;

		addKeyListener(this);
		addMouseListener(this);
		addMouseMotionListener(this);
	}

	public void start()
	{
		// Schaffen eines neuen Threads, in dem das Spiel l鋟ft
		th = new Thread(this);
		// Starten des Threads
		th.start ();
	}

	public void stop()
	{
		// Thread stoppen
		th.stop();
		// Thread auf null setzen
		th = null;
	}

	public void keyPressed(KeyEvent e)
	{
		getGraphics().drawString("User pressed key " + e.getKeyChar(), 10, currentLine);
		currentLine+=20;
	}

	public void keyReleased(KeyEvent e)
	{
		getGraphics().drawString("User released key " + e.getKeyChar(), 10, currentLine);
		currentLine+=20;
	}

	public void keyTyped(KeyEvent e)
	{

	}

	public void mouseClicked(MouseEvent e)
	{
		getGraphics().drawString("User clicked mouse " + e.getClickCount() + " times!", 10, currentLine);
		currentLine+=20;
	}

	public void mouseEntered(MouseEvent e)
	{
		getGraphics().drawString("Mouse entered applet at " + e.getX() + " " + e.getY(), 10, currentLine);
		currentLine += 20;
	}

	public void mouseExited(MouseEvent e)
	{

	}

	public void mousePressed(MouseEvent e)
	{

	}

	public void mouseReleased(MouseEvent e)
	{

	}

	public void mouseMoved(MouseEvent e)
	{
	}

	public void mouseDragged(MouseEvent e)
	{
	}


	public void run()
	{
		// Erniedrigen der ThreadPriority um zeichnen zu erleichtern
		Thread.currentThread().setPriority(Thread.MIN_PRIORITY);

		// Solange true ist l鋟ft der Thread weiter
		while (true)
		{
			try
			{
				paint(getGraphics());

				// Stoppen des Threads f黵 in Klammern angegebene Millisekunden
				Thread.sleep(speed);
			}
			catch (InterruptedException ex)
			{
			 	// do nothing
			}

			// Zur點ksetzen der ThreadPriority auf Maximalwert
			Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
		}

	}

	/** Update - Methode, Realisierung der Doppelpufferung zur Reduzierung des Bildschirmflackerns */
	public void update (Graphics g)
	{
		// no double buffering
	}


	public void paint(Graphics g)
	{
		if(currentLine >380)
		{
			g.setColor(Color.blue);
			g.fillRect(0, 0, 300, 300);
			currentLine = 10;
		}

		g.setColor(Color.yellow);
 	}
}

⌨️ 快捷键说明

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