首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
 Dreamweaver | Flash
 Fireworks  | Frontpage
 HTML/CSS  | Javascript
 Photoshop  | CorelDraw
 AuotoCAD   | Illustrator
 Freehand
 3DMax    | Authorware
 Director   | Maya
 PP点点通 | 迅雷 | BT
 eMule | FlashGet | Nero
 Ghost | Outlook | IE
 Maxthon | Office
 QQ | MSN | 网易泡泡
 Skype | 雅虎通 | 新浪UC

最新文章

您现在的位置: 中国IT实验室 >> 多媒体 >> Director学习教程 >> 正文

Director教程:匹配精灵游戏


ChinaItLab  2006-6-22 未知  保存本文   推荐给好友  收藏本站


◆ 网页平面多媒体培训、认证考试免费咨询热线:400-700-5807   进入网络咨询平台

(只是想为多媒体的发展尽一份力。以下是翻译director online 上的一篇关于匹配精灵游戏的文章,觉得简单有用,所以给大家共享。动机单纯。-------alalala)

  问题
  我正在做一个锻炼记忆力的游戏,用户在点击了一个精灵后,必须在两秒以内点击另一个与它匹配的精灵。我用全局变量来记录匹配的变量,但我不确定如何来做时间记录这部分工作。我已经尝试过使用”the shorttime”,但我找不到一个好的方法将所得的时间相减。

  回答
  用时钟来功能作为运算时间的基础,在dirctor里是非常复杂的部分-----尽管我不是很清楚为什么必须这样。(the time始终是作为字符串输出的,而字符串对我并没有太大的意义。)无论如何,我们并不需要担心,因为我们不使用the short time。我们确实不需要知道具体的时间是多少。我们更愿意了解一个事件和另一个事件的间隔的时间。这就是说,我们更需要一个秒表,而不是一个钟。幸运的是用timer的命令很容易做到这一点。


  Timer是一种自由的计时工具。它以”ticks”------也就是60分之1秒计时。你唯一需要掌握的命令就是”starttimer”,这会使timer复位到0。只要开始计时,你可以在任何时候检查数值以便得知过去的时间。

  让我们来写一个行为,以接受这个小小的挑战。首先,我们来对这个行为来定一下位。当你将这个行为附加到精灵上的时候,你会希望能够输入一个名称,这样对应的精灵也用同一个名称。你也会希望能够定义两次点击的延迟时间(用ticks----60ticks等于一秒)。这将是你可以将这行为重复使用到任意一组精灵上。第二步,在运行的时候,当精灵被点击,以下是需要做的事情。

  1. 判断第一次和第二次点击的是不是一组。
  2. 如果是第一次点击,那么便需要在全局变量中储存这一组的名字并且开始计时。
  3. 如果是第二次点击,那么便需要核实是否与上次点击储存在全局变量中的名称一致。
  4. 如果名称相符,那么便需要检测是否超时。
  5. 在第二次点击后并且检测后,需要将全局变量复位到0。

  以下是这个行为。

----timermatch behavior
----copyright © 1998,zzp online,llc(它已经5岁了)

property pgroup
propert ptimelapse
global gclickgrop

on getpropertydescriptionlist
set d=[:]
addprop d,#pgrop,[#default:#first,#format:#symbol,#comment:”匹配的组”]
addprop d,#ptimelapse,[#default:120t,#format:#integerl,#comment:”间隔时间”]
return d
end

on mousedown me
if gclickgrop=#null then
set gclickgroup=pgroup
starttimer
else
if gclickgroup=pgrop then
if the timer<120 then
alert “这是一组”
else
alert “太慢”
end if
else
alert “不是一组”
end if
set gclickgroup=#null
end if
end

【责编:runlz】


 相关文章  推荐文章
没有相关文章
 文章评论