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

📄 mausereignissedeu.html

📁 java tutorial all about java game design
💻 HTML
字号:
<html><!-- InstanceBegin template="/Templates/template.dwt" codeOutsideHTMLIsLocked="false" -->
<head>
<!-- InstanceBeginEditable name="doctitle" -->
<title>Java Cooperation: handle mouse events </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>Bearbeiten von Mausereignissen 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">Kein Spiel kommt ohne Interaktionen mit dem Spieler aus. In unserem Fall stehen dem Spieler zwei M&ouml;glichkeiten zur Verf&uuml;gung, wie er in das Spielgeschehen eingreifen kann, n&auml;mlich mit der Maus oder mit der Tastatur seines Computers. In den n&auml;chsten zwei Kapiteln m&ouml;chte ich zeigen, wie Maus- und Keyboardevents von Applets verarbeitet werden k&ouml;nnen. Wiederum ist dies in Applets leichter zu bewerkstelligen als in Konsolenanwendungen, daher kann man die von mir vorgestellten Methoden nicht eins zu eins in Konsolenanwendungen &uuml;bertragen. In jedem guten Javabuch wird jedoch EventHandling ausf&uuml;hrlich f&uuml;r Konsolenanwendungen behandelt (z. B. in dem Onlinebuch GoToJava: siehe Links), so dass man sich dieses Wissen leicht selbst aneignen kann. <br>
  Im folgenden m&ouml;chte ich unser BallApplet so erweitern, dass der Ball auch dann seine Richtung &auml;ndert, wenn der Benutzer auf das Applet klickt.</p>
  <p align="justify">Um dies zu verwirklichen muss man (in Applets!!) lediglich die Funktion <i>mouseDown</i> implementieren. Diese sollte in unserem Fall folgenderma&szlig;en aussehen:</p>
  <ul><i>
  // Funktion zum Auffangen eines Mausklicks auf das Applet <br>
  public boolean mouseDown (Event e, int x, int y) <br>
  {
  <ul>
  // Umkehren des Richtungsvektors <br>
  x_speed = - (x_speed); <br> <br>
  // R&uuml;ckgabewert in diesem Fall unn&ouml;tig, aber verlangt !! <br>
  return true;
  </ul>
  }
  </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">Nat&uuml;rlich lassen sich nicht nur Mausklicks verarbeiten. Java stellt eine Reihe von Methoden zur Verf&uuml;gung, die ich nun kurz vorstellen m&ouml;chte. Sie alle k&ouml;nnen auf dieselbe Art und Weise wie oben gesehen in das Applet eingef&uuml;gt werden:</p>
  <ol start="1" type="1">
  <li>Mausklick:</li>
  <ol start="1" type="a">
  <li>public boolean mouseDown (Event e, int x, int y): F&auml;ngt das Ereigniss auf, das entsteht, wenn die Maustaste gedr&uuml;ckt wird</li>
  <li>public boolean mouseUp (Event e, int x, int y): F&auml;ngt das Ereigniss auf, das entsteht, wenn die Maustaste losgelassen wird</li>
  <li>Mit der Variablen e.clickCount hat man zudem Zugriff auf die Anzahl der Clicks und kann somit auch Doppelklicks anders behandel als einfache Klicks</li>
  </ol>
  <li>Bewegen der Maus:</li>
  <ol start="1" type="a">
  <li>public boolean mouseMove (Event e, int x, int y): F&auml;ngt das Ereigniss auf, das entsteht, wenn die Maus bewegt wird</li>
  <li>public boolean mouseDrag (Event e, int x, int y): F&auml;ngt das Ereigniss auf, das entsteht, wenn die Maus mit gedr&uuml;ckter Maustaste bewegt wird</li>
  </ol>
  <li>Mauspositionen:</li>
  <ol start="1" type="a">
  <li>public boolean mouseEnter(Event e, int x, int y): F&auml;ngt das Ereigniss auf, das entsteht, wenn der Mauszeiger das Appletfeld "betritt"</li>
  <li>public boolean mouseExit (Event e, int x, int y): F&auml;ngt das Ereigniss auf, das entsteht, wenn der Mauszeiger das Appletfeld verl&auml;sst</li>
  </ol>
  </ol>

  <p align="justify">Mit den Variablen int x und int y hat man zudem Zugriff auf die Koordinaten, an denen das Mausevent passiert ist, was nat&uuml;rlich f&uuml;r viele Spiele &auml;u&szlig;erst wichtig ist. Au&szlig;erdem muss man darauf achten, dass die Methoden explizit einen R&uuml;ckgabewert true oder false verlangen, der nicht immer eine Bedeutung f&uuml;r die Behandlug des Ereignisses hat. Es muss jedoch immer ein boolscher Wert zur&uuml;ckgegeben werden! </p>
  <p><a href="SourceCodes/Mausereigniss/Mausereigniss.java">SourceCode download</a><br>
  <a href="Applets/Mausereigniss/MausereignissApplet.html">Applet ansehen</a>
  <h4>N&auml;chstes Kapitel</h4>
<a href="TastaturereignisseDeu.html">Tastaturereignisse</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 + -