<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Brauche Hilfe bei Kollisionsabfrage]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich versuche gerade eine Kollisionsabfrage in ein Spiel einzubauen. Bei dem Spiel geht es darum dass man ein Raumschiff steuert und von oben immer wieder Asteroiden auf einen zufliegen. Ich möchte jetzt eine Kollisionsabfrage zwischen Schiff und Asteroiden einbauen. Meine sieht folgendermaßen aus:</p>
<pre><code>void CGame::CheckPlayerCollisions ()
{
	list&lt;CAsteroid&gt;::iterator ItAsteroid;

	SDL_Rect RectPlayer;
	SDL_Rect RectAsteroid;

	RectPlayer = m_pPlayer-&gt;GetRect();

	for(ItAsteroid = m_AsteroidList.begin ();
		ItAsteroid != m_AsteroidList.end ();
		++ItAsteroid)
	{
		RectAsteroid = ItAsteroid-&gt;GetRect();

		if (RectPlayer.y &lt; RectAsteroid.y + RectAsteroid.h &amp;&amp;
			RectPlayer.y + RectPlayer.h &gt; RectAsteroid.y &amp;&amp;
			RectPlayer.x &lt; RectAsteroid.x + RectAsteroid.w &amp;&amp;
			RectPlayer.x + RectPlayer.w &gt; RectAsteroid.x)
		{
			m_pPlayer-&gt;SetAlive(false);
			break;
		}
	}
}
</code></pre>
<p>Das Problem ist nur, dass das Spiel auch abbricht, wenn keine Kollision stattgefunden hat, es muss also ein Fehler in der Kollisionsabfrage sein, den ich leider nicht finde. Ich hoffe einer von euch findet den Fehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/131773/brauche-hilfe-bei-kollisionsabfrage</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 05:52:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/131773.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 05 Jan 2006 18:04:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Brauche Hilfe bei Kollisionsabfrage on Thu, 05 Jan 2006 18:04:16 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich versuche gerade eine Kollisionsabfrage in ein Spiel einzubauen. Bei dem Spiel geht es darum dass man ein Raumschiff steuert und von oben immer wieder Asteroiden auf einen zufliegen. Ich möchte jetzt eine Kollisionsabfrage zwischen Schiff und Asteroiden einbauen. Meine sieht folgendermaßen aus:</p>
<pre><code>void CGame::CheckPlayerCollisions ()
{
	list&lt;CAsteroid&gt;::iterator ItAsteroid;

	SDL_Rect RectPlayer;
	SDL_Rect RectAsteroid;

	RectPlayer = m_pPlayer-&gt;GetRect();

	for(ItAsteroid = m_AsteroidList.begin ();
		ItAsteroid != m_AsteroidList.end ();
		++ItAsteroid)
	{
		RectAsteroid = ItAsteroid-&gt;GetRect();

		if (RectPlayer.y &lt; RectAsteroid.y + RectAsteroid.h &amp;&amp;
			RectPlayer.y + RectPlayer.h &gt; RectAsteroid.y &amp;&amp;
			RectPlayer.x &lt; RectAsteroid.x + RectAsteroid.w &amp;&amp;
			RectPlayer.x + RectPlayer.w &gt; RectAsteroid.x)
		{
			m_pPlayer-&gt;SetAlive(false);
			break;
		}
	}
}
</code></pre>
<p>Das Problem ist nur, dass das Spiel auch abbricht, wenn keine Kollision stattgefunden hat, es muss also ein Fehler in der Kollisionsabfrage sein, den ich leider nicht finde. Ich hoffe einer von euch findet den Fehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/958087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/958087</guid><dc:creator><![CDATA[Döner_Konnektion]]></dc:creator><pubDate>Thu, 05 Jan 2006 18:04:16 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche Hilfe bei Kollisionsabfrage on Thu, 05 Jan 2006 19:09:49 GMT]]></title><description><![CDATA[<p>Hm - sieht richtig aus. Wir hatten das schon mal <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-128163.html" rel="nofollow">hier</a>. Aber Dein Code stimmt mit dem überein. Sind die Werte in den Membern 'h' und 'w' positiv? Bei 'x' und 'y' wär's egal.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/958147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/958147</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Thu, 05 Jan 2006 19:09:49 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche Hilfe bei Kollisionsabfrage on Fri, 06 Jan 2006 09:32:41 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Da der Code aus einem Buch ist, musst du doch nur kontrollieren, ob du ihn richtig abgeschrieben hast und wenn das der Fall ist, hast du wahrscheinlich irgendwo anders einen Tippfehler.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/958487</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/958487</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 06 Jan 2006 09:32:41 GMT</pubDate></item></channel></rss>