⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tastaturereignissedeu.html

📁 java tutorial all about java game design
💻 HTML
字号:
<html><!-- InstanceBegin template="/Templates/template.dwt" codeOutsideHTMLIsLocked="false" -->
<head>
<!-- InstanceBeginEditable name="doctitle" -->
<title>Java Cooperation: Behandlung von Tastaturereignissen</title>
<!-- InstanceEndEditable --><meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link href="jc_style.css" rel="stylesheet" type="text/css">
<script src="klayers.js"></script>

<script>

function cancelCloseMenu(){
        if(self.tm) clearTimeout(tm) // cancel delayed closing
}

function showMenu(){
        if(!self.menu || !self.submenu){
                menu=layer("menulayer")
                submenu=layer("submenulayer")
        }

        cancelCloseMenu()

        submenu.moveTo(menu.getAbsoluteLeft(), menu.getAbsoluteTop() + menu.getHeight()) // move second menu relatively
        submenu.show()
}

function initiateHideMenu(){
        tm=setTimeout("hideMenu()",400) // 1 second delay to close a submenu
}

function hideMenu(){
        submenu.hide()
}

</script>

<!-- InstanceBeginEditable name="head" --><!-- InstanceEndEditable -->
</head>
<body bgcolor="#ffffff" leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0">
<div align="center">
  <a name="top"></a>
  <table bgcolor="#737373" border="0" cellpadding="0" cellspacing="0" width="618">
  <tr>
<td rowspan="8" bgcolor="#000000"><img src="Pics/spacer.gif" width="1" height="1" border="0" alt=""></td>
   <td bgcolor="#000000"><img src="Pics/spacer.gif" width="131" height="1" border="0" alt=""></td>
   <td bgcolor="#000000"><img src="Pics/spacer.gif" width="13" height="1" border="0" alt=""></td>
   <td bgcolor="#000000"><img src="Pics/spacer.gif" width="58" height="1" border="0" alt=""></td>
   <td bgcolor="#000000"><img src="Pics/spacer.gif" width="94" height="1" border="0" alt=""></td>
   <td bgcolor="#000000"><img src="Pics/spacer.gif" width="81" height="1" border="0" alt=""></td>
   <td bgcolor="#000000"><img src="Pics/spacer.gif" width="48" height="1" border="0" alt=""></td>
   <td bgcolor="#000000"><img src="Pics/spacer.gif" width="23" height="1" border="0" alt=""></td>
   <td bgcolor="#000000"><img src="Pics/spacer.gif" width="38" height="1" border="0" alt=""></td>
   <td bgcolor="#000000"><img src="Pics/spacer.gif" width="19" height="1" border="0" alt=""></td>
   <td bgcolor="#000000"><img src="Pics/spacer.gif" width="108" height="1" border="0" alt=""></td>
   <td bgcolor="#000000"><img src="Pics/spacer.gif" width="5" height="1" border="0" alt=""></td>

  </tr>

  <tr>
   <td rowspan="5"><a href="index.html"><img name="fab_r1_c1" src="Pics/fab_r1_c1.gif" width="131" height="71" border="0" alt="Java cooperation home"></a></td>
   <td rowspan="6" bgcolor="#737373"></td>
   <td colspan="9" height="15" bgcolor="#737373"></td>
   <td rowspan="8" bgcolor="#000000"><img src="Pics/spacer.gif" width="1" height="1" border="0" alt=""></td>
  </tr>
  <tr>
   <td colspan="5"><div class="colontitul"><!-- InstanceBeginEditable name="Colontitul" -->Tutorial<!-- InstanceEndEditable --></div></td>
   <td colspan="2" bgcolor="#737373"><img name="fab_r2_c8" src="Pics/fab_r2_c8.gif" width="57" height="19" border="0" alt="type and press Enter"></td>
   <td colspan="2">
<FORM method=GET action="http://www.google.com/search">
<TABLE bgcolor="#FFFFFF" cellpadding="0" cellspacing="0" height="10px"><tr>
<td height="10" valign="middle">
<INPUT TYPE=text name=q size=18 maxlength=60 value="" style="font-size:12px; color:#000000; border-width: 0px;">
<input type=hidden name=domains value="http://javacooperation.gmxhome.de/">
<input type=hidden name=sitesearch value="http://javacooperation.gmxhome.de/" checked>
</td></tr></TABLE>
</td>
</form>
   <td><img src="Pics/spacer.gif" width="1" height="19" border="0" alt=""></td>
  </tr>
  <tr>
   <td colspan="9" bgcolor="#666666"><img name="fab_r3_c3" src="Pics/fab_r3_c3.gif" width="474" height="8" border="0" alt=""></td>
   <td><img src="Pics/spacer.gif" width="1" height="8" border="0" alt=""></td>
  </tr>
  <tr>
   <td colspan="6"><a href="TutorialStartDeu.html"><img src="Pics/deupanel_01.gif" width="56" height="22" border="0"></a><a href="OnlineSpieleStartDeu.html"><img src="Pics/deupanel_02.gif" width="94" height="22" border="0"></a><a href="DownloadsDeu.html"><img src="Pics/deupanel_03.gif" width="76" height="22" border="0"></a><a href="LinksDeu.html"><img src="Pics/deupanel_04.gif" width="52" height="22" border="0"></a><a href="KontaktDeu.html"><img src="Pics/deupanel_05.gif" width="64" height="22" border="0"></a></td>
   <td><img name="fab_r4_c9" src="Pics/fab_r4_c9.gif" width="19" height="22" border="0" alt=""></td>
   <td width="108" height="22" bgcolor="#666666"><div align="center"><span id="menulayer" style="position: relative; background-color:#666666; width:108; height:20; vertical-align:baseline; border:1px solid #FFFFFF"><a href="#" class="text" onmouseover="showMenu(); return true" onmouseout="initiateHideMenu(); return true">Select language</a></span>
   </div>
     <div id="submenulayer" style="position: absolute; visibility: hidden; background-color: #666666; width:108px;">
         <div class="text" style="border:1px solid #FFFFFF; border-top-width:0; padding:5px">
<a href="#" onmouseover="cancelCloseMenu(); return true" onmouseout="initiateHideMenu(); return true">German</a><br>
<a href="indexEng.html" onmouseover="cancelCloseMenu(); return true" onmouseout="initiateHideMenu(); return true">English</a><br>
<a href="http://javacooperation.dev.juga.ru/index.html" onmouseover="cancelCloseMenu(); return true" onmouseout="initiateHideMenu(); return true">Russian</a>
</div>
</div>
</td>
   <td><img name="fab_r4_c11" src="Pics/fab_r4_c11.gif" width="5" height="22" border="0" alt=""></td>
   </tr>
  <tr>
   <td colspan="9"><img name="fab_r5_c3" src="Pics/fab_r5_c3.gif" width="474" height="7" border="0" alt=""></td>
  </tr>
<tr>
<td colspan="11" style="padding:18; background-color:#333333; vertical-align:top;">
<div class="text">
  <!-- InstanceBeginEditable name="EditRegion" -->
  <h2>Behandlung von Tastaturereignissen in Java 1.1 (Deprecated)</h2>
  <p align="justify"><b>Achtung</b>: Diese Art der Ereignissbehandlung ist in seit Java 1.2 als deprecated markiert und erzeugt beim Kompilieren eine Warnung / l&auml;sst sich mit 1.4 nicht kompilieren. Da aber viele noch Microsofts Internet Explorer 5 verwenden, dessen Virtual Maschine noch die JDK Version 1.1 verwendet ist diese Art der Ereignissbehandlung noch f&uuml;r viele Browser m&ouml;glich und verwendbar. Solltet ihr aber mit euren Applets auf dem neusten Stand bleiben wollen, so verwendet bitte das in dem Kapitel <a href="EventHandlingNeuDeu.html">neues Eventhandling</a> beschriebene Verfahren. Dieses Kapitel ist allerdings ausf&uuml;hrlicher so dass es vielleicht einige Dinge besser erkl&auml;rt als das neue Kapitel!</p>
  <p align="justify">Die Behandlung von Tastaturereignissen funktioniert auf ganz &auml;hnliche Weise wie die zuvor behandelte Behandlung von Mausereignissen. Auch hier steht f&uuml;r jede m&ouml;gliche Aktion eine Methode zur Verf&uuml;gung, die nach der Implementierung auf die einzelnen Benutzereingaben h&ouml;rt und diese verarbeitet. Ich m&ouml;chte diese Funktionen nun kurz vorstellen, um euch danach ein Applet zu zeigen, mit dem ihr unseren Ball mit Hilfe der Cursortasten nach links oder rechts bewegen und mit der Space Taste stoppen k&ouml;nnt. Achtung!! Tastatureingaben werden vom Applet erst dann behandelt, wenn es einmal angeklickt wurde!!<br>
  Nun aber zu den einzelnen Methoden:</p>
  <ol start="1" type="1">
  <li>public boolean keyDown (Event e, int key): Diese Methode f&auml;ngt das Ereigniss auf, das beim Dr&uuml;cken einer Taste entsteht. </li>
  <p align="justify">Dabei kann die gedr&uuml;ckte Taste mit der Variable key, die als Argument von der Methode &uuml;bergeben wird, bestimmt werden. Die SpaceTaste hat z. B. den Wert 32. Wenn man sich nicht sicher ist, welchen Wert die Tasten haben, so kann man mit folgendem Ausdruck, den man in die keyDown (...) - Methode schreibt sich die Zahlenwerte auf die Standardausgabe schreiben lassen:<br><br><i> System.out.println ("Charakter: " + (char)key + " Integer Value: " + key);</i> <br> <br>
  F&uuml;r manche, besonders h&auml;ufig benutzte Werte existieren spezielle Variablen, so haben z. B. die Cursortasten die Werte Event.LEFT, Event.RIGHT, Event.UP, Event.DOWN. Diese Variablen sind alle Klassenvariablen der Klasse Event und k&ouml;nnen in der API nachgelesen werden.</p>
  <li>public boolean keyUp (Event e, int key): Diese Methode f&auml;ngt das Ereigniss auf, das beim Loslassen einer Taste entsteht. Sie kann auf gleiche Weise wie die keyDown - Methode verwendet werden.</li>
  </ol>
  <p align="justify">Wir wollen unser BallApplet nun also so modifizieren, dass sich der Ball nach Dr&uuml;cken der linken bzw. rechten Cursortaste in die angegebene Richtung bewegt. Dr&uuml;ckt der Benutzer die Space - Taste so soll der Ball stoppen. Dazu m&uuml;ssen wir folgendes Programmst&uuml;ck in unser Applet einf&uuml;gen:</p>
  <ul><i>
  // Methode zur Behandlung von keyDown - Ereignissen <br>
  public boolean keyDown (Event e, int key) <br>
  {
  <ul>
  // Linke Cursortaste gedr&uuml;ckt <br>
  if (key == Event.LEFT)<br>
  {
  <ul>
  // &Auml;ndern des Richtunsvektors so dass sich der Ball nach Links bewegt (x - Position wird kleiner)<br>
  x_speed = -1;<br>
  </ul>
  }<br>
  // Rechte Cursortaste gedr&uuml;ckt <br>
  else if (key == Event.RIGHT)<br>
  {
  <ul>
  // &Auml;ndern des Richtunsvektors so dass sich der Ball nach Rechts bewegt (x - Position wird gr&ouml;sser)<br>
  x_speed = 1;<br>
  </ul>
  }<br>
  // Space Taste gedr&uuml;ckt (hat den Wert 32!)<br>
  else if (key == 32)<br>
  {
  <ul>
  // Stoppen des Balles (x_speed = 0)<br>
  x_speed = 0;<br>
  </ul>
  }<br>
  else<br>
  {
  <ul>
  /* Zus&auml;tzlich Ausgeben eines nicht behandelten Wertes auf die Standardausgabe (nicht n&ouml;tig, sondern nur als Testm&ouml;glichkeit f&uuml;r euch!!) */ <br>
  System.out.println ("Charakter: " + (char)key + " Integer Value: " + key);<br>
  </ul>
  }<br><br>
  // NICHT VERGESSEN!! <br>
  return true;<br>
  </ul>
  }<br>
  </i></ul>
<p align="justify">Zus&auml;tzlich m&uuml;sst ihr die run() - Methode noch ein wenig ab&auml;ndern, siehe dazu den Source Code zu diesem Kapitel!</p>    
  <p align="justify">Im Grunde beherscht ihr nun alle wichtigen Techniken, um ein Spiel zu programmieren. Ihr k&ouml;nnt Animationen realisieren, das Flackern der Bildes unterdr&uuml;cken, Bilder / Sounds einf&uuml;gen und Benutzerereignisse verarbeiten. Im n&auml;chsten Kapitel werde ich mit euch daher ein komplettes Spiel programmieren (das auch mein erstes selbstprogrammiertes Computerspiel war) und zwar so eine Art Moorhuhn (nat&uuml;rlich graphisch wesentlich einfacher, aber das Prinzip soll das selbe sein). Um dieses Spiel allerdings wirklich verstehen zu k&ouml;nnen, m&uuml;sst ihr mit Klassen, Objekten, Aufrufen von Methoden anderer Klassen... vertraut sein und ihr m&uuml;sst die vorigen Kapitel verstanden haben! Anhand dieses Spiels werdet ihr noch einige weitere Techniken lernen (Punkte z&auml;hlen, Leben verlieren, Mauscursor ver&auml;ndern, ein Objekt abschie&szlig;en, Bewegung in verschiedene, zuf&auml;llige Richtungen...) und danach solltet ihr in der Lage sein selbstst&auml;ndig eure eigenen Spiele zu entwickeln. Viel Spa&szlig; also im folgenden Kapitel, zuvor k&ouml;nnt ihr euch noch das in dieser Lektion geleistete ansehen, bzw. den SourceCode runterladen.</p>
  <p><a href="SourceCodes/Tastaturereignisse/Tastaturereignisse.java">SourceCode download</a><br>
  <a href="Applets/Tastaturereignisse/TastaturereignisseApplet.html">Applet ansehen</a>
  <h4>N&auml;chstes Kapitel</h4>
<a href="EventHandlingNeuDeu.html">Event handling mit EventListenern</a>
  <!-- InstanceEndEditable -->
</div>
</td>
</tr>

<tr>
<td colspan="11" style="background-color:#990000" align="center">
<table width="100%" style="padding:0"><tr>
  <td width="88" bgcolor="#993300"><div align="center" style="font-size:10px; color: #FFFFFF;">  <a href="#top"> to top </a></div></td>
  <td><div align="center" style="font-size:10px; color: #FFFFFF;">
<a href="mailto:javacooperation@gmx.de">Fabian Birzele</a>, 2001-2004.<br>
web-design: <a href="http://www.freehand.str.ru/">Vadim Murzagalin</a>, 2004.
</div></td>
<td width="88">
</td>
</tr>
</table>

</td>

</tr>

</table>
</div>

</body>
<!-- InstanceEnd --></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -