<?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[Problem bei Tastatur eingabe]]></title><description><![CDATA[<p>Hi</p>
<p>ich arbeite mit GetAsyncKeyState um meine Tasten abzufragen.(Bis auf die escape taste, damit ich net noch ne variable global für alle datein definerin muss^^)</p>
<p>bloß immer wenn ich z.B. pfeil nach rechts drücke, stürzt das proggy ab. wenn ich VK_RIGHT in der WM_KEYDOWN bearbeite is das net. das ist doof^^.</p>
<p>hier ma mein messageloop:</p>
<pre><code class="language-cpp">LONG FAR WINAPI WndProc (HWND hwnd , UINT message , 
                         UINT wParam , LONG lParam) 
{ 
	switch (message)
	{
		case WM_KEYDOWN:
		{
			switch (wParam)
			{
			case VK_ESCAPE:
                {
                    running = false;
    				return 0;
                };
                break;

  			}
		}
		case WM_DESTROY:
		{

			PostQuitMessage (0) ; 
			return 0 ;
		} break;
	} // switch (message)
	return DefWindowProc (hwnd , message , wParam , lParam) ;
} // WndProc
</code></pre>
<p>und hier der code wo ich die pfeiltasten abfragen:</p>
<pre><code class="language-cpp">if( GetAsyncKeyState(VK_LEFT) &lt; 0) 
     {
         MainPlayer.Move(&quot;Left&quot;);
     }
     if( GetAsyncKeyState(VK_RIGHT) &lt; 0) 
     {
         MainPlayer.Move(&quot;Right&quot;);
     }
     if( GetAsyncKeyState(VK_UP) &lt; 0) 
     {
         MainPlayer.Move(&quot;Up&quot;);
     }
     if( GetAsyncKeyState(VK_DOWN) &lt; 0) 
     {
         MainPlayer.Move(&quot;Up&quot;);
     }
</code></pre>
<p>keien angst, die funktionen funezen alle. wenn ich das zweite über WM_KEYDOWN abfrage funzt alles super. ich hab aber gehört, das man für eine spielsteuerung leiber getasynkeystate nehmen sollte. habt ihr da ne idee? weil es is doof, wenn man mit dem drücken eienr steuerungstaste das game beenden xD^^.</p>
<p>MfG<br />
Eldarion</p>
<p>edit: prob gefunden, ich hab ein break vergessen ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/164777/problem-bei-tastatur-eingabe</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Jul 2026 07:56:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/164777.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 12 Nov 2006 16:20:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem bei Tastatur eingabe on Sun, 12 Nov 2006 18:00:49 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>ich arbeite mit GetAsyncKeyState um meine Tasten abzufragen.(Bis auf die escape taste, damit ich net noch ne variable global für alle datein definerin muss^^)</p>
<p>bloß immer wenn ich z.B. pfeil nach rechts drücke, stürzt das proggy ab. wenn ich VK_RIGHT in der WM_KEYDOWN bearbeite is das net. das ist doof^^.</p>
<p>hier ma mein messageloop:</p>
<pre><code class="language-cpp">LONG FAR WINAPI WndProc (HWND hwnd , UINT message , 
                         UINT wParam , LONG lParam) 
{ 
	switch (message)
	{
		case WM_KEYDOWN:
		{
			switch (wParam)
			{
			case VK_ESCAPE:
                {
                    running = false;
    				return 0;
                };
                break;

  			}
		}
		case WM_DESTROY:
		{

			PostQuitMessage (0) ; 
			return 0 ;
		} break;
	} // switch (message)
	return DefWindowProc (hwnd , message , wParam , lParam) ;
} // WndProc
</code></pre>
<p>und hier der code wo ich die pfeiltasten abfragen:</p>
<pre><code class="language-cpp">if( GetAsyncKeyState(VK_LEFT) &lt; 0) 
     {
         MainPlayer.Move(&quot;Left&quot;);
     }
     if( GetAsyncKeyState(VK_RIGHT) &lt; 0) 
     {
         MainPlayer.Move(&quot;Right&quot;);
     }
     if( GetAsyncKeyState(VK_UP) &lt; 0) 
     {
         MainPlayer.Move(&quot;Up&quot;);
     }
     if( GetAsyncKeyState(VK_DOWN) &lt; 0) 
     {
         MainPlayer.Move(&quot;Up&quot;);
     }
</code></pre>
<p>keien angst, die funktionen funezen alle. wenn ich das zweite über WM_KEYDOWN abfrage funzt alles super. ich hab aber gehört, das man für eine spielsteuerung leiber getasynkeystate nehmen sollte. habt ihr da ne idee? weil es is doof, wenn man mit dem drücken eienr steuerungstaste das game beenden xD^^.</p>
<p>MfG<br />
Eldarion</p>
<p>edit: prob gefunden, ich hab ein break vergessen ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173106</guid><dc:creator><![CDATA[Eldarion]]></dc:creator><pubDate>Sun, 12 Nov 2006 18:00:49 GMT</pubDate></item></channel></rss>