Project1

标题: 开关的简化设计 [打印本页]

作者: sizz123    时间: 2008-1-22 20:58
标题: 开关的简化设计
                       开关的简化  

说明:这是针对Game_Switches来简化的,毕竟这个开关在游戏中是经常运用的

原理同变量的简化设计是一样的,我还是把具体步骤写出来

1,找到Game_Switches这个脚本
2,class Game_Switches后加上
  attr_accessor:data
3,写个公共事件,执行条件为并列,开关1打开
  
  $s = $game_switches.data
  $t = true,$f=false
  开关关闭

地图事件一

第一面:
     开关1为开
     独立a开关为开

第一面:执行条件:独立a开关为开

地图事件二,执行条件:确定按钮
        $s[3]=$t

运行游戏,触发地图事件二,打开f9,你会发现开关3的状态为开.

----------------------------------------------------------
居然忘记开关本来就可以批量处理,多次一举了

刚才发现1个比较没有意思的东西:

$game_switches[1]=true 与 $game_switches[1]="打开" 都是一样的效果;把"打开"替换成数字,以及被定义的全局变量,都可以让开关1打开



如果不对开关进行使用,那么开关的状态就会有3个---true,false,nil
那个没有被使用过的开关就是nil,只要使用过1次
那个开关就会去除nil



              [本贴由 御灵 于 2008-1-24 23:03:38 进行了编辑]
作者: sizz123    时间: 2008-1-23 02:23
1


作者: sizz123    时间: 2008-1-23 16:57
                        开启多个开关
接上楼的方法继续

目的:任意开启或关闭多个开关

方法:
写一个公共事件:(名称:打开吧!)如下的一个脚本
  for o in $oc
  $s[o] = $t
  end
这个脚本的目的是:把数组$oc中的元素都变成$t

然后,我们只要给$oc这个数组赋值就好了


最后的结果:只要写2行,就可以打开多个开关.
   $oc=[3,6]
   公共事件:打开吧!
用f9去看看,3,6号开关打开了.

本来想写一个打开和关闭一起控制的公共事件,把1个数组全部赋$t,另1个全部赋$f
但出错了,好象不能一起控制似的.

如果你嫌那个$t复杂,可以写成1,都可以打开开关

.
作者: 亿万星辰    时间: 2008-1-23 17:23
这个思路没错,不过这样做有什么样的意义呢?

for i in [3,6]
$game_switches=true
end

这样不也挺简单么...
或者干脆直接用事件操作
作者: sizz123    时间: 2008-1-23 17:40
以下引用亿万星辰于2008-1-23 9:23:12的发言:

这个思路没错,不过这样做有什么样的意义呢?

for i in [3,6]
$game_switches=true
end

这样不也挺简单么...
或者干脆直接用事件操作


因为顶楼是我昨天早上写的,而后面的是我今天写的,所以我今天的是连接昨天的思维和方法.
所以就有很多罗嗦的地方

我写这个是为了解决自己游戏设计中遇到的一个问题
  比如:我要用1到3号开关去控制1个门的开启,命名为"钥匙1""钥匙2""钥匙3".而这3个开关应该放在一起的.但是由于我设计的时候粗心,或其他什么原因,本来应该写"钥匙3"的地方却写了其他的东西,那么钥匙3就要和钥匙1,2分别.这样,我就不能用事件命令中的"统一打开开关"来一起打开开关,因为那只能打开连在一起的开关.
  所以,就写出了这么个东西.(先不考虑这个事件这么做的必要性)
  
  你说的方法的确很对

  不过
  $game_switches=true和$s=1比较,$s=1还是要少写几个字的.


作者: 亿万星辰    时间: 2008-1-23 17:42
以下引用sizz123于2008-1-23 9:40:33的发言:
$game_switches=true和$s=1比较,$s=1还是要少写几个字的.

抱腮瀑布汗惊讶中...{/lh}
作者: 御灵    时间: 2008-1-25 07:03
发布完毕。
http://rpg.blue/web/htm/news924.htm
vip+2




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1