Project1
标题:
教给新手们的第一招
[打印本页]
作者:
怪蜀黍
时间:
2009-7-10 20:43
标题:
教给新手们的第一招
本帖最后由 雪流星 于 2009-7-15 21:43 编辑
其实我自己也只是接触VX才几个月,通过这几个月的摸索,发现了一个妙招,可能老手们早就懂得了。本次发帖的目的就是让更多的朋友学会这一妙招,已经会的朋友请勿见笑。
不要看本帖子长就没有耐心看,其实说明的道理很容易理解,绝对对你有很大的帮助!
有时候,想在脚本里实现某一目标会很困难,但是使用事件法却很容易,可是事件法却没有开始条件,遇到这种情况怎么办?
例如:想在角色会心一击的时候让画面变成全红色0.3秒,怎么实现?
当然,你可以直接写脚本:
$game_troop.screen.start_flash(Color.new(255,0,0,255),30) if @critical == true
复制代码
可是,对于我们出学者来说,很多脚本都不会编写,而事件里又有“画面的闪烁”设置,这样我们就可以用调用公共事件的方法直接实现目标而避开困难的脚本。
调用公共事件可以使用以下5行脚本实现(例如调用16号公共事件,在Game_Battler类的“@critical = false if prevent_critical # 防止会心一击? ” 下面的一行添加):
if @critical == true
common_event = $data_common_events[16]
$game_troop.interpreter.setup(common_event.list,0)
$game_troop.interpreter.update
end
复制代码
这样,我们就可以在16号公共事件里设置画面闪烁即可。
又比如:想让某角色在装备了连击宝剑后会有某一特殊效果,比如连续地攻击,可是判断是否持有某武器的脚本我们不会写,于是我们就可以这样设置:
首先,在Game_BattleAction类的def make_speed的最后一个end上面插入:
common_event = $data_common_events[2]
$game_troop.interpreter.setup(common_event.list,0)
$game_troop.interpreter.update
复制代码
即调用2号公共事件。因为def make_speed是在战斗前比较行动速度,所以可以作为战前武器判断起用事件的开始条件。这样,我们在公共事件2里面写入,条件分歧:如果某角色持有连击宝剑,设置开关10号为打开,否则为关闭。
然后在Scene_Battle类的def execute_action_attack里设置:
if $game_switches[10] ==ture
……
else
……
end
复制代码
例如,我就是这样实现1号角色连击的:(再写脚本太长了,不写了,估计写了也没有人看,如果有朋友强烈要求我写出,我会在后面跟帖补充。)
要是掌握得好的话,还可以用脚本启动事件并用事件启动脚本乃至多次反复来实现我们预期的目的,我在游戏制作中也常使用这些手法,在此顺便提下。
我也是初学者,有说得不对的地方也请大家指教。谢谢。
作者:
苍木幽子
时间:
2009-7-10 21:01
提示:
作者被禁止或删除 内容自动屏蔽
作者:
小幽的马甲
时间:
2009-7-10 21:56
虽说思路值得借鉴,但我想说真的会到脚本编辑器里改的人肯定也会那一句脚本…
作者:
465889216
时间:
2009-7-10 23:25
提示:
作者被禁止或删除 内容自动屏蔽
作者:
怪蜀黍
时间:
2009-7-11 19:17
看来赞同我的人还蛮多嘛。
希望本帖子能让更多的朋友看到,并给他们带来帮助。
已经学会了的朋友,帮忙顶下了啦!:handshake
作者:
怪蜀黍
时间:
2009-7-12 09:06
今天时间忙,本作者打算就在这两天为新手们发表第二个妙招。
真的很有用的哦!呵呵。
作者:
zh99998
时间:
2009-7-12 09:09
其实事件转脚本我更喜欢查这个
http://rpg.blue/viewthread.php?t ... =%E6%89%8B%E5%86%8C
作者:
怪蜀黍
时间:
2009-7-14 20:51
第二个妙招已经发表了,有兴趣的话请关注。呵呵!
作者:
风雪优游
时间:
2009-7-14 20:57
LZ真是个热心的人,用自己的方法帮助别人,值得尊敬。
作者:
Majirefy
时间:
2009-7-15 00:06
向LZ致敬!我貌似看到了雷锋的说……
LZ能把自己的感悟发表交流,佩服哦!
作者:
0逍遥居士0
时间:
2009-7-18 19:14
学习中,感谢LZ
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1