本页面由 Flash 保存计划 从 Internet Archive 存档还原 · 快照 2004-12-09 · 原址 http://www2.flash8.net/teach/1860.htm ← Flash 保存计划
 
如何解决setFocus光标停留的问题
作者:Super-Tomato  来源:闪吧
时间: 2004年8月6  类型: 原创  
收藏 发送 评论 <%=votevote%>打印 字体选择:   

最近很多人都一直问我, 为何Flash中所提到的Selection.setFocus不能使用呢??
我也看了他们的代码之后发觉, 不能使用的原因都是出在一开始定义光标停留在文本上的问题... 所以测试了一下... 发觉到这和之前我制作游戏时, 也不能够一开始就使用键盘来控制, 必须点了swf一下才可以使用键盘控制...
主要这类原因是在html当中, 焦点不能设定在swf, 而解决这个的唯一方法就是使用javascript, 那么大家就注意看我以下所增加红色代码的部分
<html>
<head>
<title>setFocus</title>
</head>
<body bgcolor="#ffffff" onLoad="form.focus()"> //让html载入的时候焦点定在swf的标签上
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="550" height="400" id="form" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="form.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="form.swf" quality="high" bgcolor="#ffffff" width="550" height="400" name="form" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
</body>
</html>
大家看到了吗?? 在发布后的html代码当中, embed标签当中会有个 name="form" 而我们就取得这个属性名字, 然后在<body>标签设定onLoad事件, 让他的焦点(Focus)定在相同属性名字的部分, 这样就解决了吧 :)
相同的制作游戏的时候也是这样做, 不然在Flash一开始使用键盘控制人物走动的时候, swf是无法监听到任何键盘讯息的....
点击浏览该文件
责任编辑:uufeng
上一篇: 鼠绘画MM的教程 下一篇: 在Flash MX中实现设为首页和加入收藏夹
 

没有相关教材