# Tower defense



## DrExpress (10. Jan 2015)

Hallo  ich habe da 2 probleme und weiß nicht wie ich sie lösen kann....
Also folgendes: ich bin gerade dabei ein einfaches towerdefense spiel zu programmiern. Dabei habe ich folgende zwei probleme:
einmal hier, dass der "hovereffekt" aktiviert wird:

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

public class KeyHandel implements MouseMotionListener, MouseListener{

	public void mouseDragged(MouseEvent e) {
		Screen.mse = new Point((e.getX()) + ((Frame.size.width - Screen.myWidth)/2), (e.getY()) + ((Frame.size.height -(Screen.myHeight))-(Frame.size.width - Screen.myWidth)/2)); 
	
	}

	public void mouseMoved(MouseEvent e) {
		Screen.mse = new Point((e.getX()) - ((Frame.size.width - Screen.myWidth)/2), (e.getY()) + ((Frame.size.height -(Screen.myHeight))-(Frame.size.width - Screen.myWidth)/2)); 
	}

}
myHeight und myWidth sin din einer anderen klasse mit getWidth(); und getHeight(); doch irgendwie funktioniert dass nicht....
Dies wäre dann eben der befehl dazu: 

if(button[i].contains(Screen.mse)) {
		g.setColor(new Color(255, 255, 255, 150));
		g.fillRect(button[i].x,button[i].y, button[i].width,    button[i].height);
			}
Mein zweites problem ist, dass irgendwie bei mir getWidth und getHeight nicht ganz funktionieren.... zumindest ist es so, dass wenn ich das feld wo die mobs später herumlaufen sollen im normalfall ja mit: 
public void define() {
		block = new Block[worldHeight][worldWidth];
		
		for(int y=0;y<block.length;y++) {
			for(int x=0;x<block[0].length;x++) {
				block[y][x] = new Block(((worldWidth*blockSize)[B]/2[/B]) + (x*blockSize[B]/2[/B]), y*blockSize, blockSize, blockSize, Value.groundGrass, Value.airAir);
			

			}
			
	    }
		
	}
```
zentriert werden sollte. Jedoch ist es bei mir so, dass wenn ich es so mache, dass es irgendwie bei ca. 3/4 der seite erscheint... somit musste ich jetzt bei	
	
	
	
	





```
block[y][x] = new Block(((worldWidth*blockSize)[B]/17[/B]) + (x*blockSize), y*blockSize, blockSize, blockSize, Value.groundGrass, Value.airAir);
```
 machen... es funktioneirt zwar jedoch bin ich damit nicht wirklich zufrieden.... Ich hoffe jeamdn kann mir weiterhelfen 
Bei fragen einfach antworten oder an thomas.milowiz@gmx.at scheiben 
liebe grüße thomas


----------



## Androbin (19. Jan 2015)

DrExpress hat gesagt.:


> ... es funktioniert zwar jedoch bin ich damit nicht wirklich zufrieden ...


Soll heißen?


----------



## Anfänger2011 (19. Jan 2015)

Das wird hier im Video mit den dazugehörigen Formel gut und einfach erklärt:
https://www.youtube.com/watch?v=OJpxGfsiPwI


----------

