HitTest
-
Moin,
ich habe mehrere Objekte auf meinem Bildschirm und möchte die mit meiner Maus anklicken.
Ich hatte vorher immer diese Variante:bool CContainer::hitTest(vector2df maus) { for(GLuint i=0; i<Objects.size(); i++) { //pos.X = X //pos.Y = Y //size.X = width //size.Y = height if(( maus.X > Objects[i]->pos.X - (Objects[i]->size.X) ) &&( maus.X < Objects[i]->pos.X + (Objects[i]->size.X) ) &&( maus.Y > Objects[i]->pos.Y - (Objects[i]->size.Y) ) &&( maus.Y < Objects[i]->pos.Y + (Objects[i]->size.Y) ) ) { Obj = 5; pushDraw(Obj); return true; } } return false; }Nur wenn ich jetzt zum Beispiel das Objekte rotiere bzw. scalliere, testet er immer noch auf diese Positionen und kann so so nicht richtig anklicken. Beim rotieren ist halt ein riesiges Problem.
Wüsstet ihr noch eine andere Möglichkeit wie ich testen kann ob ein Objekt geklickt wurde? Wobei er auch den rotierten Bereich bzw. scallierten Bereich mit einbezieht?.
Also ich bin noch totaler Anfänger und noch nicht wirklich Ahnung.
-
transformier (sprich: rotier, skalier) den mauszeiger entgegengesetzt und teste dann gegen den.
-
wie meinst du das?
ich bin da ein wenig überfordert^^