# OpenGL: Rectangle dort erstellen wo ich hintippe



## MrDeathly (25. Aug 2012)

Servus,
ich spiel gerade ein bisschen mit OpenGL rum und dabei komm ich gerade nicht weiter.
Ich habe mir eine Klasse "Rectangle(float x, float y, float z, float length, float width)" gebaut, und wenn ich jetzt beispielsweise in der onCreate(Context context) ein neues Objekt davon erstelle (Bsp: new Rectangle(0.0f, 0.0f, 0.0f, 1.0f, 1.0f)) wird dieses auch auf den Bildschirm gezeichnet.
Jetzt will ich in der onTouchEvent(MotionEvent event) an der Position, an der auf den Bilschirm getippt wird, ein Rectangle erstellen. Das mache ich folgender Maßen:

```
@Override
public boolean onTouchEvent(MotionEvent event){
	float x = event.getX();
	float y = event.getY();		
	createRectangle(x, y, /*z coordinate*/ 0, /*length*/ 1.0f, /*width*/ 1.0f);
	return false;
}
...
public void createRectangle(float x, float y, float z, float length, float width){
	new Rectangle(x, y, z, length, width);
}
```
Das klappt jedoch nicht, und ich weiss nicht wieso. Ich hab die Vermutung dass da irgendwas mit den Parametern nicht klappt in der createRectangle(...), die Methode funktioniert nur, wenn ich sie mit den Parametern in Form von einer Fließkommazahl mit einem "f" am Ende aufrufe (Bsp: 0.0f oder 1.0f, 0.0 funktionier nicht weil es dann gleich als double erkannt wird).
Hat jemand ne Lösung dafür?

Lg MrDeathly


----------



## Elemerald (25. Aug 2012)

Also ganz ehrlich, ich hab jetzt auf die Schnelle leider keine Lösung im Kopf, aber du könntest mir mal dein Projekt schicken, weil wenn ich es mir ankucke wird einem vielleicht mehr klar. Hast du Skype oder i-was wo dus raufladen könntest dein Projekt?

Elemerald


----------



## Marco13 (25. Aug 2012)

"Klappt nicht" sagt nichts aus. Notfalls mini-Debugschritte:

Ein Rechteck mit fest vorgegebenen Koordinaten im Code erstellen. Wird das gezeichnet?
Beim Touch-Event das gleiche Rechteck erstellen. Wird das gezeichnet?
Beim Touch-Event das Rechteck mit den "richtigen" Koordinaten erstellen. Wird das gezeichnet? Wenn nicht, wie unterscheiden sich die Koordianten? (Debug-Ausgaben ggf. über die LogCat...)


----------

