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

Project1

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

[已经解决] 如何使用脚本调用公共事件里的"显示选项"这个功能?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
跳转到指定楼层
1
发表于 2014-9-22 15:44:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
我想用脚本调用公共事件里的“显示选项”这个功能,使屏幕弹出选择选项。
说具体点就是:
脚本里可以使用$game_message.add('xxxx')来显示文字,可以使用$game_troop.screen.pictures[0].show(各个参数)来显示图片,那么应该使用什么方法来显示1个只有“是”和“否”2个选择的选项框呢?

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2014-9-22 17:23:00 | 只看该作者
本帖最后由 taroxd 于 2014-9-22 17:24 编辑

看看 Game_Interpreter 是怎么做的就好了。大概就是往 $game_message 里面输入对应的文字,选项,执行选项后的调用的proc 等等必要信息就可以了。但是这样的做法真的非常繁琐。

所以,不妨自己新建一个 Window_Selectable 的子类,按照自己的想法随意控制吧。要用脚本的时候,并不一定非要和事件关联起来的说~

点评

所以不要拘泥于事件啦,自己写界面吧  发表于 2014-9-24 07:49
T_T事件脚本也不好弄,在战斗界面这个类里调用事件脚本的选项设置,老提示线程不可创建,快哭了  发表于 2014-9-23 20:36
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
3
 楼主| 发表于 2014-9-22 19:16:55 | 只看该作者
taroxd 发表于 2014-9-22 17:23
看看 Game_Interpreter 是怎么做的就好了。大概就是往 $game_message 里面输入对应的文字,选项,执行选项 ...

看了VA源代码不下3次,知道很麻烦,可是又懒得自己写界面,所以就想伸手用原有的代码就好,结果没想到原有的代码这么麻烦……果然还是自己动手丰衣足食啊……
好吧,结贴,谢啦
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21489
在线时间
9390 小时
注册时间
2012-6-19
帖子
7114

开拓者短篇九导演组冠军

4
发表于 2014-9-22 21:44:38 | 只看该作者
添乱:
事件脚本
@params = [["是","否"],0];command_102

评分

参与人数 1星屑 +233 收起 理由
VIPArcher + 233 233

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
5
 楼主| 发表于 2014-9-22 23:03:49 | 只看该作者
喵呜喵5 发表于 2014-9-22 21:44
添乱:
事件脚本
@params = [["是","否"],0];command_102

这个我知道,但是,选择“是”或“否”后想下一步的内容写在哪?
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21489
在线时间
9390 小时
注册时间
2012-6-19
帖子
7114

开拓者短篇九导演组冠军

6
发表于 2014-9-22 23:14:24 | 只看该作者
本帖最后由 喵呜喵5 于 2014-9-22 23:19 编辑
tan12345 发表于 2014-9-22 23:03
这个我知道,但是,选择“是”或“否”后想下一步的内容写在哪?


继续添乱
  1. class Game_Interpreter
  2.   # 调用:setup_m5_choices(choice1,choice2,id)
  3.   # 参数:
  4.   # choice1 选项1的文字(字符串)
  5.   # choice2 选项2的文字(字符串)
  6.   # id      根据选择的选项的不同值不同的变量的ID
  7.   
  8.   def setup_m5_choices(choice1,choice2,id)
  9.     $game_message.choices.push choice1
  10.     $game_message.choices.push choice2   
  11.     $game_message.choice_cancel_type = 0
  12.     $game_message.choice_proc = Proc.new {|n| $game_variables[id] = n }
  13.     Fiber.yield while $game_message.choice?
  14.   end
  15. end
复制代码
Let's更进一步的丧心病狂
  1. class Game_Interpreter
  2.   # 调用:setup_m5_choices(1,"选项1","选项2","选项3","选项4","选项5","选项n")
  3.   def setup_m5_choices(id,*choice)
  4.     choice.each {|c| $game_message.choices.push c}   
  5.     $game_message.choice_cancel_type = 0
  6.     $game_message.choice_proc = Proc.new {|n| $game_variables[id] = n }
  7.     Fiber.yield while $game_message.choice?
  8.   end
  9. end
复制代码

点评

我还以为没有 Game_Interpreter 的环境呢,原来是事件脚本啊……  发表于 2014-9-23 12:33
为了显示选项时,可以保留前面显示的文字信息  发表于 2014-9-22 23:42
没怎么测试过,搞不懂为什么要这句  发表于 2014-9-22 23:37
少了一句:wait_for_message  发表于 2014-9-22 23:30

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
7
 楼主| 发表于 2014-9-22 23:27:58 | 只看该作者
喵呜喵5 发表于 2014-9-22 23:14
继续添乱Let's更进一步的丧心病狂

太丧心病狂了……不过,好像可以变相达到我想要的目的~我去试试,谢了喵大
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-10-6 12:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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