幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4484|回复: 0

关于实现键控的问题

 关闭 [复制链接]

8

主题

37

帖子

1622

积分

⑥精研

积分
1622
发表于 2004-7-14 22:13:37 | 显示全部楼层 |阅读模式
关于实现键控的问题
    在RM中系统默认的键控为方向键上下左右,空格/回车,ESC。还有对应的字母键控:?????
    在COMMAND里面能够响应键控的语句为ENTER PASSWORD。里面提供了除默认键控以外的数字键控0-9,???,SHIFT。这些按键完全可以通过各种语句来实现各种功能。
    1,实现自制菜单中的光标移动
    在自制菜单中通过键控来实现光标的移动是最简单,最基本的键控应用。根据自制菜单光标的预编位的多少可以分为固定式和变量式。
      A,固定式
      选择SHOW PICTURE中的一个图层来作为光标的图式。通过ENTER PASSWORD来键控1234四个方向关键值做出相应的MOVE PICTURE使光标图层移动到预编位。
      B,变量式
      先对所有的预编位进行排序编号,并确定相临位置的对应关系,对所有的预编位之间的移动进行坐标编值。大概可以确定为四个方向的移动,选用两个变量XY作为预编位坐标寄存器。当通过ENTER PASSWORD检测到方向关键值后。先改写坐标寄存器XY的值,然后再调用编写的MOVE PICTURE来移动光标到相应位置。
    2,实现地图中对EVENT的移动
    首先通过MOVE EVENT编写相应的方向移动语句。再通过ENTER PASSWORD来键控1234四个方向关键值做出相应的移动即可。如果希望此刻一直被系统默认控制的HERO EVENT不被方向关键值控制移动,可以在整个控制移动过程中使用CALL COMMAND EVENT来实现中断效果。因为当使用CALL COMMAND EVENT时,系统不会对HERO键控响应做出对HERO的移动。
    3,实现自制菜单选择确定,取消等功能。
    当通过ENTER PASSWORD来键控5,6确定,取消关键值做出相应的调用语句即可。
    4,连续控制功能(重点中的重点!!)
    对ENTER PASSWORD有了解的用户可以发现该语句对连续按键的相应无效。如通过ENTER PASSWORD键控实现的各种移动都不能因为按键的持续键入而持续响应。为了完全实现连续控制的功能。需要引入一些小技巧。
      来做一个类似于键控鼠标的光标以便理解工作机理。
      在EVENT的选项中,有触发方式的选择,有ON TOUCH(EVENT)的选项。该项功能为当HERO EVENT靠近该EVENT,及做出了移动到该单元格的响应,但不需要完全到达该单元阁,注意区别于ON TOUCH。这个触发方式为连续控制提供了可能。
      建立四个SAME LEVEL AS HERO的EVENT,触发方式都为ON TOUCH(EVENT)。分别负责上下左右的移动功能。摆放位置为十字型。在十字型的中间,我们SET HERO START。让HERO在第一次调用的时候就处于四个EVENT的中间。可以看到,因为是SAME LEVEL AS HERO,HERO不可能移动出这个十字型的位置。但是HERO可以连续不断的触发周围的EVENT。在上的EVENT中加入MOVE PICTURE移动在地图初始化时就SHOW的光标。其余的方向相同。这样就可以看到一个可以连续响应的鼠标式光标。这种移动方式还可以用于射击游戏的制作。当这四个EVENT和HERO EVENT都为空时,就完全不可见这个操作过程可视化。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-4-19 12:23 , Processed in 0.020334 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表