设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1547|回复: 9
打印 上一主题 下一主题

[已经解决] 如何把事件写成脚本形式

[复制链接]

Lv1.梦旅人

梦石
0
星屑
52
在线时间
586 小时
注册时间
2012-5-31
帖子
768
跳转到指定楼层
1
发表于 2012-10-23 11:22:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式









我想把这个事件写成一个脚本,然后在事件中调用它。
请教高手:这个脚本应该怎么写?事件中如何才能调用它?
谢谢

Lv2.观梦者

梦石
0
星屑
324
在线时间
371 小时
注册时间
2010-8-23
帖子
418
2
发表于 2012-10-23 16:52:14 | 只看该作者
参考这个:http://www.66rpg.com/articles/2926
一条一条对着修改吧
真正做游戏的游戏人是不会整天发帖灌水的!!!
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
66
在线时间
91 小时
注册时间
2012-8-15
帖子
57
3
发表于 2012-10-23 18:51:54 | 只看该作者
本帖最后由 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  就可以了
没有测试过,不能保证没有错误。���

评分

参与人数 1星屑 +60 收起 理由
hcm + 60 感谢回答

查看全部评分

回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
52
在线时间
586 小时
注册时间
2012-5-31
帖子
768
4
 楼主| 发表于 2012-10-23 19:29:28 | 只看该作者
谢谢楼上了。太谢谢了
去试下
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
323 小时
注册时间
2010-8-21
帖子
666
5
发表于 2012-10-23 20:13:53 | 只看该作者
楼主真的是需要这样的话,就这样:

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


还有很多很多........不过就得自己想办法把这个事件载入...非常复杂...如果只是
用来不在地图编辑器上写的话,非常不建议,这样些事件,仅仅用来出现一个临时可以
看见的事件,比如随机明怪等

评分

参与人数 1星屑 +40 收起 理由
hcm + 40 感谢回答

查看全部评分

>>猛戳>>MetalSagaR游戏主页<<这里<<
欢迎提供您的意见
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
52
在线时间
586 小时
注册时间
2012-5-31
帖子
768
6
 楼主| 发表于 2012-10-23 21:57:31 | 只看该作者
虾米£浪子 发表于 2012-10-23 18:51
class Yao
def initialize
    a = yao

直接卡掉{:2_265:}触发事件画面卡住,1分钟后提示:内存不足,游戏关闭
回复

使用道具 举报

Lv1.梦旅人

路人党员

梦石
0
星屑
52
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
7
发表于 2012-10-23 22:19:34 | 只看该作者
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
66
在线时间
91 小时
注册时间
2012-8-15
帖子
57
8
发表于 2012-10-24 08:55:45 | 只看该作者
其实楼主没必要使用脚本来做,因为考虑到动画等因素,需要提供素材,进行测试才能有效的写出脚本.
建议楼主还是用事件来完成,主要写得太长,有些都是重复的,可以进行缩小.
图片对应的精灵只需要一个就可以,显示图片用代码变量来实现
比如$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
     
代码部分全部用事件里的脚本实现
这样方式,可以剩去大量步骤

评分

参与人数 1梦石 +2 收起 理由
hcm + 2 认可答案

查看全部评分

回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
52
在线时间
586 小时
注册时间
2012-5-31
帖子
768
9
 楼主| 发表于 2012-10-24 18:40:25 | 只看该作者
谢谢大家了,今天 抽了点时间看了下教材,觉得8楼的很好,可以简化事件书写长度。我想请教下怎么写那一段播放图片的事件到脚本中,然后我在事件中调用 它?谢谢大家了
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
52
在线时间
586 小时
注册时间
2012-5-31
帖子
768
10
 楼主| 发表于 2012-10-24 21:11:16 | 只看该作者
改成这样,请大家指点下,


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-29 12:22

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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