📄 编写游戏时如何实现键盘控制对象的“即放即停”.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<title>编写游戏时如何实现键盘控制对象的“即放即停” - 游戏编程 - Visual Basic - 专业的开发资源网站</title>
<meta name="description" content="VB在线 - 包含大量的VB/VB.NET资源。vb源码、vb控件、书籍教程、vb文章。" />
<meta name="keywords" content="vb,vb6.0,vb教程,vb下载,vb编程,vb6.0下载,vb6,vb.net,vb源代码,vb程序设计,vb运行库,vb论坛,vb6运行库,vb程序,vb源码,vb控件" />
<meta name="author" content="vip_666666@163.com,VB在线" />
<meta name="Copyright" content="VB在线" />
<link rel="stylesheet" href="../media/mt_style.css" type="text/css">
<SCRIPT language=javascript src="../media/mt_dropdownC.js" type="text/javascript"></SCRIPT>
<SCRIPT language=javascript src="../media/mt_dropdown_initialize.js" type="text/javascript"></SCRIPT>
<LINK REL="stylesheet" HREF="style.css" TYPE="TEXT/CSS">
<SCRIPT language=JavaScript src="../js/main.js" type="text/javascript"></SCRIPT>
</head>
<body onload="init();">
<table width="762" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class=TABLEBORDER>
<tr>
<td width="158" class="topshag"></td>
<td width="32"><IMG height="19"
src="../Images/top_line_02.gif"ALT="vb"
width="32"></td>
<td width="570" align="right" class="topshag1"><script language=JavaScript type="text/javascript">
var day="";
var month="";
var ampm="";
var ampmhour="";
var myweekday="";
var year="";
mydate=new Date();
myweekday=mydate.getDay();
mymonth=mydate.getMonth()+1;
myday= mydate.getDate();
myyear= mydate.getYear();
year=(myyear > 200) ? myyear : 1900 + myyear;
if(myweekday == 0)
weekday=" 星期日 ";
else if(myweekday == 1)
weekday=" 星期一 ";
else if(myweekday == 2)
weekday=" 星期二 ";
else if(myweekday == 3)
weekday=" 星期三 ";
else if(myweekday == 4)
weekday=" 星期四 ";
else if(myweekday == 5)
weekday=" 星期五 ";
else if(myweekday == 6)
weekday=" 星期六 ";
document.write(year+"年"+mymonth+"月"+myday+"日 "+weekday);
</script> </td>
</tr>
<tr>
<td colspan="3"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="26%" height="69"><IMG height="62"
src="../Images/logo.gif" width="195"></td>
<td width="63%" align="center"><A href="http://www.vbzx.net/"
target=_blank><IMG height="60"
src="../Images/vbzx468x60.gif" width="468" border="0"></A></td>
<td width="11%"> </td>
</tr>
</table></td>
</tr>
<tr>
<td height="28" colspan="3" ><table width="100%" border="0" align="left" cellpadding="0" cellspacing="0" class="topbg" >
<tbody class="topbg">
<tr>
<td width="10%" height="30" ><div align="center"><a href="../default.asp">首 页</a></div></td>
<td width="10%" id=menu1><div align="center"><a href="#">技术文章</a></div></td>
<td width="10%" id=menu2><div align="center"><a href="#">源码下载</a></div></td>
<td width="10%" ><div align="center"></div></td>
<td width="10%" ></td>
<td width="10%" ><div align="center"> </div></td>
<td width="12%"><div align="center"></div></td>
<td width="13%"><div align="center"> </div></td>
<td width="5%"><div align="center"></div></td>
<td width="10%"> </td>
</tr>
</tbody>
</table></td>
</tr>
</table>
<SCRIPT LANGUAGE=javascript SRC="../mb/mt_dropdown_content.js" type="text/javascript"></SCRIPT>
<style type="text/css">
<!--
.style1 {color: #000000}
-->
</style>
<table width="762" border="0" align="center" cellpadding="3" cellspacing="0" class=TABLEBORDER>
<tr>
<td height="1" colspan="2" class="TABLEBG1"></td>
</tr>
<tr>
<td height="12" colspan="2" align="center"><TABLE class="MAINBORDER" cellSpacing=3 cellPadding=0 width="100%"
align=center border=0>
<TBODY>
<TR>
<TD width="13%"><IMG height=11
src="../Images/arrow2.gif"
width=20 align=absMiddle>当前位置:</TD>
<TD width="87%" align="left" class="style1"><a href="../Default.asp">首页</a> >> <a href="../ArticleList/vbzx_Article_List_1_1.asp">Visual Basic</a> → <a href="../ArticleList/vbzx_Article_List_10_1.asp">游戏编程</a> → 编写游戏时如何实现键盘控制对象的“即放即停” </TD>
</TR>
</TBODY>
</TABLE></td>
</tr>
<tr>
<td height="6" colspan="2" align="center"> </td>
</tr>
<tr>
<td height="7" colspan="2" align="center"><font size=3 color=#ff0000><b>编写游戏时如何实现键盘控制对象的“即放即停”</b></font>
<hr align=center width="96%" color=#eeeeee noshade size=1>
日期:2005年1月4日 作者:-=不详=- 人气:<script src="../ArticleHits.asp?ArticleID=270"></script> 人 </td>
</tr>
<tr valign="top">
<td height="237" colspan="2">
<table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td> 或许你有过这样的体验,编写的游戏若用键盘操作时,由于键盘有连续按键时重复输入同一个字符的特性,于是我们在操作游戏的主角时,主角的移动也就有了这一不该有的“惯性”-即便是我们松开了键盘可主角还要移动一段距离。其实你只要按下面的方法去处理,就可以避免这一讨厌的“惯性”现象出现了。<BR> 示例中的LIANXU为窗体级布尔变量,当我们持续按住一键(如上行键)时触发窗体KeyDown事件,置LIANXU变量值为False,同时启动函数DoEvents,以便程序能在以后执行的复杂“上行子程序”代码时也能保证接受到窗体的KeyUp事件。 当我们松开键盘时马上触发窗体的KeyUp事件,执行这一事件时置变量LIANXU=True,从而使接下来由“惯性”导至的窗体KeyDown事件继续执行时遇到语句“If LIANXU = False Then....”而立刻中止。<BR> 此法在小雨点工作室的《迷宫》游戏中运用并得到验证。 <BR>Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)<BR> LIANXU = False<BR> DoEvents<BR> If LIANXU = False Then<BR> If LIANXU = False Then<BR> If KeyCode = 38 Then 上行子程序<BR> If KeyCode = 40 Then 下行子程序<BR> If KeyCode = 37 Then 左行子程序<BR> If KeyCode = 39 Then 右行子程序<BR> End If<BR>End Sub<BR><BR>Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)<BR> LIANXU = True<BR>End Sub<BR><p align="right">(出处:www.vbzx.net)</p> </td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" align="right"><HR align=center width="96%" color=#eeeeee noShade SIZE=1> </td>
</tr>
<tr>
<td width="376"><strong>相关文章:</strong></td>
<td width="372"><strong>相关软件:</strong></td>
</tr>
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="1">
<tr>
<td>·<a href="../ArticleView/vbzx_Article_View_271.asp" target="_blank" Title="如何让多首背景音乐随机交替循环播放">如何让多首背景音乐随机交替循环播放</a></td>
</tr>
<tr>
<td>·<a href="../ArticleView/vbzx_Article_View_272.asp" target="_blank" Title="用API获得Windows目录和系统system目录">用API获得Windows目录和系统system目录</a></td>
</tr>
<tr>
<td>·<a href="../ArticleView/vbzx_Article_View_273.asp" target="_blank" Title="关闭鼠标和键盘">关闭鼠标和键盘</a></td>
</tr>
<tr>
<td>·<a href="../ArticleView/vbzx_Article_View_274.asp" target="_blank" Title="从某一路径下合乎要求的所有文件中随机抽取一个">从某一路径下合乎要求的所有文件中随机抽取一个</a></td>
</tr>
<tr>
<td>·<a href="../ArticleView/vbzx_Article_View_275.asp" target="_blank" Title="为自己的应用程序加密">为自己的应用程序加密</a></td>
</tr>
<tr>
<td>·<a href="../ArticleView/vbzx_Article_View_276.asp" target="_blank" Title="在程序中加入主页链接和电子邮件链接">在程序中加入主页链接和电子邮件链接</a></td>
</tr>
<tr>
<td>·<a href="../ArticleView/vbzx_Article_View_277.asp" target="_blank" Title="字符串中文的问题">字符串中文的问题</a></td>
</tr>
<tr>
<td>·<a href="../ArticleView/vbzx_Article_View_278.asp" target="_blank" Title="字符串中包含双引号">字符串中包含双引号</a></td>
</tr>
<tr>
<td>·<a href="../ArticleView/vbzx_Article_View_279.asp" target="_blank" Title="字符串操作的问题和回答">字符串操作的问题和回答</a></td>
</tr>
<tr>
<td>·<a href="../ArticleView/vbzx_Article_View_280.asp" target="_blank" Title="如何由两个ASC码(区位码)复原成一个汉字">如何由两个ASC码(区位码)复原成一个汉字</a></td>
</tr>
</table>
</td>
<td width="372"></td>
</tr>
</table>
<div align="center"></div>
<table width="762" border="0" align="center" cellpadding="0" cellspacing="0" class=TABLEBORDER>
<TR>
<TD class=TABLEBG height=1></TD>
</TR>
<tr>
<td height="98"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3" class="diandian" > </td>
</tr>
<tr>
<td width="33%" height="54"><div align="center">
<p>
<img src="../images/logo80x31.gif" width="88" height="31" ALT="vb在线"> </p>
</div></td>
<td width="52%" rowspan="2">站点地图 下载声明 软件发布 下载帮助 管理登陆
<br>
Copyright (c) 2002-2004 <A
href="http://www.vbzx.net" target=_blank><B>VBZX<FONT color="#cc0000">.Net</FONT></B></A> All Rights Reserved .<a href="http://validator.w3.org/check?uri=http://www.vbzx.net/" target="_blank">本系统依照W3C标准构建,所有页面均通过W3C验证</a> <br>
<script src="http://www.vbzx.net/tj/mystat.asp?siteid=1"></script></td>
<td width="15%" rowspan="2" align="center"> </td>
</tr>
<tr>
<td height="25"><div align="center">
<script src="../js/zm.js" type="text/javascript"></script>
</div></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -