<?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[Events in 2 Verschiedenen Klassen]]></title><description><![CDATA[<p>Hallo</p>
<p>ich möchte meine Events auf 2 Klassen verteilen, doch wie kann ich das Anstellen ?</p>
<pre><code>void CPlayer::ProcessMoving ()
{
done = false;
SDL_Event event;

        while (SDL_PollEvent(&amp;event))
        {

            // Kontrolliert ob es Nachrichten gibt
            switch (event.type)
            {
                // Exit wenn das Fenster geschlossen ist
            case SDL_QUIT:
                done = true;
                break;

                // Kontrolliert ob es einen Tastendruck gab
            case SDL_KEYDOWN:
                {
                    // EXIT wenn escape gedrückt wurde
                    if (event.key.keysym.sym == SDLK_ESCAPE)
                        done = 2;
                    break;
                }
            case SDL_JOYBUTTONDOWN:
            if ( event.jbutton.button == 7 )
            {
                done = true;
                break;
            }
            case SDL_JOYAXISMOTION:
                if( event.jaxis.which == 0 )
                        {
                            //Hat die X Axe sich bewegt
                                if( event.jaxis.axis == 0 )
                                    {
                                    //Ist die X Achse neutral
                                        if( ( event.jaxis.value &gt; -8000 ) &amp;&amp; ( event.jaxis.value &lt; 8000 ) )
                                            {
                                                xVel = 0;
                                            }
                                            else
                                            {
                                               //Stellt den Mittelpunkt ein
                                                if( event.jaxis.value &lt; 0 )
                                                        {
                                                            xVel = -10;
                                                        }
                                                        else
                                                        {
                                                            xVel = 10;
                                                        }
                                            }

                                    }

                                else if( event.jaxis.axis == 1 )
                                        {
                                            //IIst die Y Achse Neutral
                                            if( ( event.jaxis.value &gt; -8000 ) &amp;&amp; ( event.jaxis.value &lt; 8000 ) )
                                                    {
                                                        yVel = 0;
                                                    }
                                                    //wenn nicht
                                                    else
                                                    {
                                                        //Stellt den Mittelpunkt ein
                                                        if( event.jaxis.value &lt; 0 )
                                                            {
                                                                yVel = -10;
                                                            }
                                                            else
                                                            {
                                                                yVel = 10;
                                                            }
                                                    }

                                            }

                        } // ende switch

            } // ende der Nachrichtenverarbeitung

        }

} // ProcessMoving
</code></pre>
<p>Einmal die Keyboard eingaben und einmal die Joystick eingaben.<br />
Das Problem was ich habe ist dies Aufzuteilen und in der while schleife abzufangen.</p>
<p>Für Hilfe wäre ich dankbar</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/222156/events-in-2-verschiedenen-klassen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 09:50:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/222156.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 08 Sep 2008 15:26:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Events in 2 Verschiedenen Klassen on Mon, 08 Sep 2008 15:26:50 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>ich möchte meine Events auf 2 Klassen verteilen, doch wie kann ich das Anstellen ?</p>
<pre><code>void CPlayer::ProcessMoving ()
{
done = false;
SDL_Event event;

        while (SDL_PollEvent(&amp;event))
        {

            // Kontrolliert ob es Nachrichten gibt
            switch (event.type)
            {
                // Exit wenn das Fenster geschlossen ist
            case SDL_QUIT:
                done = true;
                break;

                // Kontrolliert ob es einen Tastendruck gab
            case SDL_KEYDOWN:
                {
                    // EXIT wenn escape gedrückt wurde
                    if (event.key.keysym.sym == SDLK_ESCAPE)
                        done = 2;
                    break;
                }
            case SDL_JOYBUTTONDOWN:
            if ( event.jbutton.button == 7 )
            {
                done = true;
                break;
            }
            case SDL_JOYAXISMOTION:
                if( event.jaxis.which == 0 )
                        {
                            //Hat die X Axe sich bewegt
                                if( event.jaxis.axis == 0 )
                                    {
                                    //Ist die X Achse neutral
                                        if( ( event.jaxis.value &gt; -8000 ) &amp;&amp; ( event.jaxis.value &lt; 8000 ) )
                                            {
                                                xVel = 0;
                                            }
                                            else
                                            {
                                               //Stellt den Mittelpunkt ein
                                                if( event.jaxis.value &lt; 0 )
                                                        {
                                                            xVel = -10;
                                                        }
                                                        else
                                                        {
                                                            xVel = 10;
                                                        }
                                            }

                                    }

                                else if( event.jaxis.axis == 1 )
                                        {
                                            //IIst die Y Achse Neutral
                                            if( ( event.jaxis.value &gt; -8000 ) &amp;&amp; ( event.jaxis.value &lt; 8000 ) )
                                                    {
                                                        yVel = 0;
                                                    }
                                                    //wenn nicht
                                                    else
                                                    {
                                                        //Stellt den Mittelpunkt ein
                                                        if( event.jaxis.value &lt; 0 )
                                                            {
                                                                yVel = -10;
                                                            }
                                                            else
                                                            {
                                                                yVel = 10;
                                                            }
                                                    }

                                            }

                        } // ende switch

            } // ende der Nachrichtenverarbeitung

        }

} // ProcessMoving
</code></pre>
<p>Einmal die Keyboard eingaben und einmal die Joystick eingaben.<br />
Das Problem was ich habe ist dies Aufzuteilen und in der while schleife abzufangen.</p>
<p>Für Hilfe wäre ich dankbar</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1578708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1578708</guid><dc:creator><![CDATA[MacGyver1979]]></dc:creator><pubDate>Mon, 08 Sep 2008 15:26:50 GMT</pubDate></item><item><title><![CDATA[Reply to Events in 2 Verschiedenen Klassen on Tue, 09 Sep 2008 13:16:44 GMT]]></title><description><![CDATA[<p>machs doch andersrum<br />
schick einfach alle keyboard und joystick events an alle klassen und die dies interessiert verarbeiten die nachrichten</p>
<p>pseudocode:</p>
<pre><code class="language-cpp">SDL_Event event;
feld_mit_basisklassen[anzahl_klassen];
while (SDL_PollEvent(&amp;event))
{
  switch (event.type)
  {
  case SDL_KEYDOWN:
  case SDL_JOYBUTTONDOWN:
  case SDL_JOYAXISMOTION:
    for(int i = 0; i &lt; anzahl_klassen; ++i)
    {
      feld_mit_basisklassen[i]-&gt;processEvent(event);
    }
  break;
  }
}
</code></pre>
<p>quasi als denkanstoß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1579136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1579136</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Tue, 09 Sep 2008 13:16:44 GMT</pubDate></item><item><title><![CDATA[Reply to Events in 2 Verschiedenen Klassen on Tue, 09 Sep 2008 13:04:22 GMT]]></title><description><![CDATA[<blockquote>
<p>feld_mit_basisklasses</p>
</blockquote>
<p>acker_ohne_bodenschlechtes?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1579208</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1579208</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 09 Sep 2008 13:04:22 GMT</pubDate></item><item><title><![CDATA[Reply to Events in 2 Verschiedenen Klassen on Tue, 09 Sep 2008 13:18:01 GMT]]></title><description><![CDATA[<p>is_ja_gut :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1579223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1579223</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Tue, 09 Sep 2008 13:18:01 GMT</pubDate></item></channel></rss>