mousetracker.java

来自「All the tool for build a network able to」· Java 代码 · 共 107 行

JAVA
107
字号
package mouse;
import sdljava.*;
import sdljava.event.*;
import sdljava.video.*;
import sdljava.image.*;

public class mouseTracker {

	public int xResolution;
	public int yResolution;

	public double[][] binaryMap;

	public mouseTracker() {
		// Initialisation de la taille de la fenetre
		xResolution = 400;
		yResolution = 400;

		/* Initialisation matrice de pixel */
		binaryMap = new double[xResolution][yResolution];
	}

	public double[][] fill() {
		// On charge la librairie graphique SDL
		System.loadLibrary("SDLjava");
		System.out.println("Started...");

		// Initialisation des variables
		int continuer = 1;
		int write = 0;
		int xMouse = 0;
		int yMouse = 0;
		SDLEvent event = null;
		SDLMouseMotionEvent eMouse = new SDLMouseMotionEvent();
		SDLSurface ecran = null;
		SDLSurface pixel0 = null;
		SDLSurface pixel1 = null;
		SDLSurface pixel2 = null;
		SDLSurface pixel3 = null;
		SDLRect positionPixel = new SDLRect();
		int mem = 0;

		try {
			/* Initialisation de la fenetre */
			SDLMain.init(SDLMain.SDL_INIT_VIDEO);
			ecran = SDLVideo.setVideoMode(xResolution, yResolution, 32,
					SDLVideo.SDL_HWSURFACE);
			ecran.fillRect(ecran.mapRGB(255, 255, 255));
		} catch (Exception e) {
			e.printStackTrace();
		}

		try {
			// On charge l'image qui va nous servir de pixel
			pixel0 = SDLImage.load("pix0.png");
			pixel1 = SDLImage.load("pix1.png");
			pixel2 = SDLImage.load("pix2.png");
			pixel3 = SDLImage.load("pix3.png");
		} catch (Exception e) {
			e.printStackTrace();
		}

		// Initialisation de la matrice avec aucune pixel
		for (int i = 0; i < xResolution; i++) {
			for (int j = 0; j < yResolution; j++) {
				binaryMap[i][j] = 0;
			}
		}

		// Boucle principale (on continue tant que l'on de click pas sur la
		// croix)
		while (continuer == 1) {
			try {
				// On attend un evenement(click, souris qui bouge,etc...)
				event = SDLEvent.pollEvent();
			} catch (Exception e) {
				e.printStackTrace();
			}

			if (event != null) {
				switch (event.getType()) {
				// Click sur la croix
				case SDLEventType.QUIT:
					continuer = 0;
					break;
				// Relachement bouton gauche souris
				case SDLEventType.MOUSEBUTTONUP:
					write = 0; // On desactive le mode dessin
					break;
				// Enfoncement bouton gauche souris
				case SDLEventType.MOUSEBUTTONDOWN:
					write = 1; // On active le mode dessin
					break;
				// Mouvement de la souris
				case SDLEventType.MOUSEMOTION:
					try {
						eMouse = (SDLMouseMotionEvent) event;
						// On recup閞e les coordonn閑s de la souris
						xMouse = eMouse.getX();
						yMouse = eMouse.getY();
					} catch (Exception e) {
						e.printStackTrace();
					}
					break;
				}
			}
			// Si on est en mode dessin(click gauche enfonc

⌨️ 快捷键说明

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