Objekt an den Seiten aprallen lassen!

Len-ni

Grünschnabel
Also ich habe ein Programm, mit dem man Objekte mit der Maus bewegen kann. Sobald man die Maus dann loslässt, bewegt sich das Objekt weiter und wird "geschleudert". Dabei wird eine Lebenszeit heruntergerechnet.
Jetzt möchte ich noch einfügen, dass das Objekt an den Wänden logisch apprallt. Nur ich weiß nicht wie ich die Syntax schrieben muss.
Meine Wänden haben follgende Daten.
links (x) = -1.0
oben (y) = 1.0
rechts (x) = 1.0
unten (y) = -1.0


Code:
bool CContainer::spin(GLuint objID)
{
        //Wenn die Lebenszeit unter 0.5 singt, soll das Objekt stoppen
	if(lifetime <= 0.5)
	{
		return true;
	}

        // speed berechnert sich aus der differenz der alten unter der neuen Mausposition (speed = maus - oldmaus;)
	Objects[objID]->pos.X += speed.X;
	Objects[objID]->pos.Y += speed.Y;

        //Hier rechnet er die Lebenszeit herunter
	lifetime -= ltime;

        //Hier müsste dann irgendwie die Abfrage rein
	if(Objects[objID]->pos.X > 1.0)
	{

	}
	if(Objects[objID]->pos.X < -1.0)
	{

	}
	if(Objects[objID]->pos.Y > 1.0)
	{

	}
	if(Objects[objID]->pos.Y < -1.0)
	{

	}
	return false;
}
 
Du musst einfach nur die Bewegungsrichtung umdrehen, wenn es am Rand ankommt, Geschwindigkeit multipliziert mit minus 1

speed.X * -1
 
Zurück