Project1

标题: 如何把事件写成脚本形式 [打印本页]

作者: wwwcctvty    时间: 2012-10-23 11:22
标题: 如何把事件写成脚本形式









我想把这个事件写成一个脚本,然后在事件中调用它。
请教高手:这个脚本应该怎么写?事件中如何才能调用它?
谢谢
dsu_plus_rewardpost_czw
作者: 勇敢的馒头    时间: 2012-10-23 16:52
参考这个:http://www.66rpg.com/articles/2926
一条一条对着修改吧
作者: 虾米£浪子    时间: 2012-10-23 18:51
本帖最后由 hcm 于 2012-11-10 10:23 编辑
  1. class Yao
  2. def initialize
  3.     a = yao
  4.     $game_temp.message_text = "我摇到了#{a},看你能摇几"
  5.     b = yao
  6.     if a > b
  7.     $game_temp.message_text = "比你大"
  8.      elsif a< b
  9.      $game_temp.message_text = "比你小"
  10.     else
  11.      $game_temp.message_text = "一样大"
  12. end
  13. end

  14. def  yao
  15.   pic = Sprite.new
  16.   a = 0
  17.   loop do
  18.      pic.bitmap = RPG::Cache.picture("sal(#{a})")
  19.       a += 1  if Graphics.frame_count % (Graphics.frame_rate*2) == 0            #等待2桢
  20.       break if a == 22
  21.    end
  22.      a = rand(6)+1
  23.      pic.bitmap = RPG::Cache.picture("sal(#{a})")
  24.    return a
  25. end
  26. end
复制代码
以上复制到main前
事件插入脚本Yao.new  就可以了
没有测试过,不能保证没有错误。���
作者: wwwcctvty    时间: 2012-10-23 19:29
谢谢楼上了。太谢谢了
去试下
作者: 沙漠点灰    时间: 2012-10-23 20:13
楼主真的是需要这样的话,就这样:

        event = RPG::Event.new(坐标)
        event.name = 事件名称
        event.pages[0].through = 是否设置可穿透
        event.pages[0].graphic.character_name=行走图名称
        ............................


还有很多很多........不过就得自己想办法把这个事件载入...非常复杂...如果只是
用来不在地图编辑器上写的话,非常不建议,这样些事件,仅仅用来出现一个临时可以
看见的事件,比如随机明怪等
作者: wwwcctvty    时间: 2012-10-23 21:57
虾米£浪子 发表于 2012-10-23 18:51
class Yao
def initialize
    a = yao

直接卡掉{:2_265:}触发事件画面卡住,1分钟后提示:内存不足,游戏关闭
作者: 英顺的马甲    时间: 2012-10-23 22:19
这个
http://rpg.blue/forum.php?mod=vi ... 2&fromuid=82429
作者: 虾米£浪子    时间: 2012-10-24 08:55
其实楼主没必要使用脚本来做,因为考虑到动画等因素,需要提供素材,进行测试才能有效的写出脚本.
建议楼主还是用事件来完成,主要写得太长,有些都是重复的,可以进行缩小.
图片对应的精灵只需要一个就可以,显示图片用代码变量来实现
比如$game_variables[2]= rand(6)+1  #2号变量
$game_screen.pictures[2].show("sa(#{$game_variables[2] })",320,50,100 ,100,255,0)      
对话显示可以用变量来表示  对话框里   我抛出了\v[2]点,该你了.
$game_variables[3]= rand(6)+1
$game_screen.pictures[2].show("sa(#{$game_variables[3] })",320,50,100 ,100,255,0)  
if $game_variables[3] > $game_variables[2]
对话框   你抛出了\v[3]点,比我大
elsif
$game_variables[3] == $game_variables[2]
对话框   你抛出了\v[3]点,一样大
else
  你抛出了\v[3]点,比我小
end
     
代码部分全部用事件里的脚本实现
这样方式,可以剩去大量步骤


作者: wwwcctvty    时间: 2012-10-24 18:40
谢谢大家了,今天 抽了点时间看了下教材,觉得8楼的很好,可以简化事件书写长度。我想请教下怎么写那一段播放图片的事件到脚本中,然后我在事件中调用 它?谢谢大家了
作者: wwwcctvty    时间: 2012-10-24 21:11
改成这样,请大家指点下,







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