赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 0 |
最后登录 | 2009-5-21 |
在线时间 | 0 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 530
- 在线时间
- 0 小时
- 注册时间
- 2009-5-21
- 帖子
- 3
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
新人报到~
刚才看完了sailcat大人的《跟我从头学脚本2》的五章内容,基本理清了思路,但是有两个地方一直是不太明白。
这两个地方都出现在第4章。
一:原文——事件页:出现条件[无],执行:
脚本:$game_switches[1]=not $game_switches[1]
从前面一章的教程中,很容易看出,这条脚本的意思是:将开关1的值取相反值(true变为false, false变为true)后,再赋值给开关1。
这不就实现了我们的要求——调查一次开启开关,再调查一次关闭开关吗?
疑问——这个理论上是完全理解的,然后我做了这样的尝试,我在把一块草皮设置了开关1 ON时战斗处理,还有在一边设置了一个类似矿洞里的摇杆开关。我在摇杆开关的事件页写入了这样的脚本:$game_switches[1]=not $game_switches[1]。
理论上,当我对着开关按键时应该开启开关1,这时走到草皮会进行战斗处理。
但是当我按键时却出现了SyntaxError 囧。。。。。于是我把脚本修正为:
$game_switches[1]=! $game_switches[1]
仅仅是把“not”改成了“!”,这次成功了,当我“2”次按键后开关变成on了,并且在草皮上进行了战斗处理,没错,是2次按键。。囧。。。然后,当我再次按键时开关没有恢复成OFF,多次尝试无果。。。
二:原文——条件分歧:$game_player.moving?
变量操作:[0001]=角色的地形标记
变量操作:[0002]=步数
变量操作:[0002]%=10
条件分歧:变量[0001]==4
条件分歧:变量[0002]==0
战斗处理
分歧结束
分歧结束
分歧结束
这样,只有在角色移动时,才会判断是不是要进行战斗处理。$game_player.moving?是判断主角是否在移动中的脚本,返回一个true或false的值,当该值为true时,执行分歧里面的操作。
疑问——这个也是理解的,因为战斗处理结束后step还是7,而地图标记还是4,应该会重复处理战斗事件。。但是依旧没有发生。。。。
我是这样设置的。同样是一块草皮,把它的地图标记设为4,然后从初始位置到草皮位置数了10格。脚本为:$game_player.terrain_tag == 4 and $game_party.steps % 10 == 0
分歧结束
分歧结束
注意,我没加上$game_player.moving?。当我运行游戏后,第一次走到草皮进行了战斗处理,但是结束后并没有重复循环。。。绕了一圈,算好了7的倍数再次来到草皮时又一次战斗处理,就是说,我没有加上“$game_player.moving?”却达到了想要的效果,这是为什么呢?
很小白的问题,人笨,希望大家帮帮忙,小女这边先谢谢了。
|
|