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

Project1

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

[已经解决] 如何用脚本实现事件中的数值输入处理?

[复制链接]

Lv2.观梦者

梦石
0
星屑
701
在线时间
511 小时
注册时间
2012-4-8
帖子
255
跳转到指定楼层
1
发表于 2015-2-12 09:58:10 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
直接Window_NumberInput.new没反应
武侠|养成|战棋游戏《以武证道》头秃开发中...
开发日记在此

Lv3.寻梦者 (版主)

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

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

开拓者贵宾

2
发表于 2015-2-12 10:24:11 | 只看该作者
见 Game_Interpreter#command_103 的定义

事件本身就是这么实现的
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
701
在线时间
511 小时
注册时间
2012-4-8
帖子
255
3
 楼主| 发表于 2015-2-12 10:45:20 | 只看该作者
taroxd 发表于 2015-2-12 10:24
见 Game_Interpreter#command_103 的定义

事件本身就是这么实现的

那去哪里设定param啊
武侠|养成|战棋游戏《以武证道》头秃开发中...
开发日记在此
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

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

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

开拓者贵宾

4
发表于 2015-2-12 10:49:48 | 只看该作者
黑白界 发表于 2015-2-12 10:45
那去哪里设定param啊

直接写呗。params 的内容就是事件指令里的两个设置项目(变量ID,位数)。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
701
在线时间
511 小时
注册时间
2012-4-8
帖子
255
5
 楼主| 发表于 2015-2-12 10:55:59 | 只看该作者
taroxd 发表于 2015-2-12 10:49
直接写呗。params 的内容就是事件指令里的两个设置项目(变量ID,位数)。 ...

  def command_103
    wait_for_message
    setup_num_input(@params)
    Fiber.yield while $game_message.num_input?
  end

我把其中的
    wait_for_message
    setup_num_input(@params)
    Fiber.yield while $game_message.num_input?
取出来
wait_for_message不需要,删掉
直接设置
    $game_message.num_input_variable_id = 1
    $game_message.num_input_digits_max = 3
然后问题来了
    Fiber.yield while $game_message.num_input?
是什么玩意?
放到哪都显示can't yield from root fiber
武侠|养成|战棋游戏《以武证道》头秃开发中...
开发日记在此
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

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

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

开拓者贵宾

6
发表于 2015-2-12 11:00:15 | 只看该作者
黑白界 发表于 2015-2-12 10:55
def command_103
    wait_for_message
    setup_num_input(@params)

意思是一直等待到输入完成后才继续执行事件指令。

如果你不是在事件脚本中使用的话,这句话不需要

评分

参与人数 2星屑 +182 收起 理由
熊喵酱 + 132 认可答案
黑白界 + 50 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
701
在线时间
511 小时
注册时间
2012-4-8
帖子
255
7
 楼主| 发表于 2015-2-12 12:17:32 | 只看该作者
taroxd 发表于 2015-2-12 11:00
意思是一直等待到输入完成后才继续执行事件指令。

如果你不是在事件脚本中使用的话,这句话不需要 ...


还是有一些问题
RUBY 代码复制
  1. class Window_ShopNumber < Window_Selectable
  2.   #--------------------------------------------------------------------------
  3.   # ● 更新画面
  4.   #--------------------------------------------------------------------------
  5.   def update
  6.     super
  7.     if active
  8.       last_number = @number
  9.       update_number if @time==false
  10.       if @number != last_number
  11.         Sound.play_cursor
  12.         refresh
  13.         msgbox"3"
  14.       end
  15.     end
  16.   end
  17.   #--------------------------------------------------------------------------
  18.   # ● 更新数量
  19.   #--------------------------------------------------------------------------
  20.   def update_number
  21.     msgbox"1"
  22.     $game_message.num_input_variable_id = $shuliangbianliang
  23.     $game_message.num_input_digits_max = 3
  24.     @number=$game_variables[$shuliangbianliang]
  25.     @time=true
  26.   end
  27. end

这是代码





消息“1”输出了,说明窗口应该生成了;
消息“3”输出了,说明数字也变更了;
可是窗口没有。。返回地图时窗口才生成

点评

本来就只有地图上有数值显示的窗口啊  发表于 2015-2-12 12:53
武侠|养成|战棋游戏《以武证道》头秃开发中...
开发日记在此
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 17:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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