Jump to content

Recommended Posts

Posted

Boas pessoal tenho estado a desenvolver um jogo de minha autoria, mas quando procuro algo sobre o use de Mouse  as dificuldades são muitas e não consigo encontrar o que pretendo.

o que realmente preciso é de saber onde o utilizador clicou onde arrastou e deixou de clicar , assim podendo dar continuidade ao desenvolvimento do meu jogo, preciso de ajuda espero que vocês me esclareçam, não vos peço código peço apenas ajuda..

O que tenho é isto:

package Mouse;

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Window;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.event.MouseWheelEvent;
import java.awt.event.MouseWheelListener;



public class MauseInput extends Core implements KeyListener, MouseMotionListener , MouseListener,MouseWheelListener{




public static void main (String [] args){
	new MauseInput().run();
}



private String mess="";

// int call Super init
public void init(){
	super.init();
	Window w =s.getFullScreenWindow();
	w.addMouseListener(this);
	w.addMouseMotionListener(this);
	w.addMouseWheelListener(this);
	w.addKeyListener(this);

}


public synchronized void draw(Graphics2D g){
	Window w = s.getFullScreenWindow();
	g.setColor(w.getBackground());
	g.fillRect(0, 0, s.getWidth(), s.getHeight());
	g.setColor(w.getForeground());
	g.drawString(mess,40,50);
}

//mouse listener interface
public void mousePressed(MouseEvent e){


	mess="Carregou";
}

public void mouseReleased(MouseEvent e){
	mess="Deixou";

}

public void mousecliked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}



//mouse motion interface
public void mouseDragged(MouseEvent e){
	mess="movendo";
}

public void mouseMoved(MouseEvent e){
	mess="mexendo";
}

//whgell interface
public void mouseWhellMoved(MouseWheelEvent e){
	mess="mexendo no wheel";
}





//keyPressed
public void keyPressed(KeyEvent e){

	int keyCode =e.getKeyCode();
	if(keyCode==KeyEvent.VK_ESCAPE){
		stop();
	}else{
		mess="pressed:"+KeyEvent.getKeyText(keyCode);
		e.consume();
	}


}

//keyReleased
public void keyReleased(KeyEvent e){
	int keyCode =e.getKeyCode();
	mess="Relessed:"+KeyEvent.getKeyText(keyCode);
	e.consume();
}


//last method from interface
public void keyTyped(KeyEvent e){
	e.consume();
}


@Override
public void mouseWheelMoved(MouseWheelEvent e) {

}

@Override
public void mouseClicked(MouseEvent arg0) {

}


}

Posted
...
Bool is_dragging;
Point drag_start;
...
public void mousePressed(MouseEvent e){
  this.drag_start = e.getPoint();
}
public void mouseDragged(MouseEvent e){
  this.is_dragging = true;
}
public void mouseReleased(MouseEvent e){
  if (this.is_dragging) {
    this.is_dragging = false;

    // ponto onde foi clicado
    this.drag_start;
    // ponto onde foi largado
    e.getPoint();
  }
}
IRC : sim, é algo que ainda existe >> #p@p
Posted

HappyHippyHippo obrigado pela resposta foi um grande passo, mas diz-me uma coisa o resultado que fica na variável point e uma conjunto de caracteres e eu preciso de saber como posso guarda-los em duas variáveis x e y...

Resultado da variável point: java.awt.Point[x=?,y=?]

?= números obtidos...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.