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

Project1

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

[已经解决] 请教下用脚本做列表窗口的问题

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1971
在线时间
926 小时
注册时间
2015-10-26
帖子
356

开拓者

跳转到指定楼层
1
发表于 2017-3-29 13:18:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 踢腿水上飘 于 2017-3-29 14:22 编辑

意思左边是列表,右边是内容,我模仿了好几个类似模式的脚本写都失败了- -
求个教程啊
我只弄到把窗口画出来这一步……后面就抓瞎了,什么都弄不出来啊,求个教程,怎么弄
效果就是 左边的窗口是词条,右边的窗口是词条的内容
比方左边是是测试1,测试2,测试3,选到测试1  右边就是显示 测试1测试1  这样

请指教下,下面这个是我仿照别人的脚本弄的,结果我仿造别人的脚本  只弄出2个空的窗口,左边有测试1,测试2,测试3,但右边的窗口内容就不会做了……

测试内容
RUBY 代码复制
  1. class Window_testa < Window_Selectable
  2.       #----------------------------------------------------------------------------
  3.       # * 初始化
  4.       #----------------------------------------------------------------------------
  5.       def initialize
  6.         super(160, 0, Graphics.width-160, Graphics.height)
  7.         refresh
  8.         activate
  9.       end
  10.       #----------------------------------------------------------------------------
  11.       # * 更新内容
  12.       #----------------------------------------------------------------------------
  13.       def refresh
  14.         draw_text(x, y, Graphics.width, line_height, "测试1测试1", 1)
  15.         draw_text(x, y, Graphics.width, line_height, "测试2测试2", 1)
  16.         draw_text(x, y, Graphics.width, line_height, "测试3测试3", 1)
  17.       end
  18.     end



测试列表
RUBY 代码复制
  1. class Window_testleft < Window_Command
  2.   def initialize
  3.     super(0,0)
  4.   end  
  5. #宽度
  6.     def window_width
  7.     return 160
  8.   end
  9.   #高度
  10.  
  11.     def window_height
  12.     return 240
  13.   end
  14. #指令
  15.     def make_command_list
  16.     add_command("测试1", :aaa)
  17.     add_command("测试2", :bbb)
  18.     add_command("测试3", :ccc)
  19.   end
  20. end



创建测试窗口
RUBY 代码复制
  1. class Testlist < Scene_Base
  2.   #--------------------------------------------------------------------------
  3.   # ● 场景开始
  4.   #--------------------------------------------------------------------------
  5.   def start
  6.     super
  7.     create_list_window
  8.     create_right_window
  9.   end
  10.   #--------------------------------------------------------------------------
  11.   # ● 创建列表
  12.   #--------------------------------------------------------------------------
  13.   def create_list_window
  14.     @list_window = Window_testleft.new
  15.     @list_window.set_handler(:ok,     method(:on_category_ok))
  16.     @list_window.set_handler(:cancel, method(:return_scene))
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● 创建内容窗口
  20.   #--------------------------------------------------------------------------
  21.   def create_right_window
  22.     @right_window = Window_testa.new
  23.   end
  24.   #--------------------------------------------------------------------------
  25.   # ● 选择完成类型
  26.   #--------------------------------------------------------------------------
  27.     def on_category_ok
  28.     @list_window.activate
  29. #    @list_window.select_last
  30.   end
  31.   #--------------------------------------------------------------------------
  32.   # ● 更新
  33.   #--------------------------------------------------------------------------
  34.   def update
  35.     super
  36.     create_right_window
  37.   end
  38. end

Lv6.析梦学徒

老鹰

梦石
40
星屑
34725
在线时间
6740 小时
注册时间
2012-5-26
帖子
3259

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

2
发表于 2017-3-29 14:07:46 | 只看该作者
参考默认的help window以及各个地方的窗口绑定个help window后的操作(如item window)

点评

看了还是抓瞎啊……  发表于 2017-3-29 14:33
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9397
在线时间
2748 小时
注册时间
2008-9-5
帖子
3543

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

3
发表于 2017-3-29 15:05:55 | 只看该作者
本帖最后由 cinderelmini 于 2017-3-30 14:47 编辑

一个不是很好但是便于理解(大概?)的方式,
首先在代码开头位置设定好每个词条名称以及词条明细说明内容,
因为哈希表会乱序强行排序有点麻烦于是就用了两个数组了……
然后监视列表窗口的index刷新右侧窗口就好了……
代码可以直接用,不过最好还是当成思路先理解一下吧……(
【代码在这】



简单的几何学分界线

如果是要用变量或者开关之类的做分歧的话,
思路得换一下,也许下边这坨可以用……

把文本设定内容放在Window_Testa内部了,下拉可以看到。
这样的话不能用控制符(因为要居中),
不过事实上现在这样应该更灵活了……

【代码2】

点评

你把那个 < Scene_Base改成 < Scene_MenuBase就好了  发表于 2017-3-30 16:29
啊,现在这样好多了,对了,我的其他界面背景都是透明的,但这个背景是黑色的,这个在哪里设置?  发表于 2017-3-30 16:02
弄了个版本2…………也许能满足需求?  发表于 2017-3-30 14:47
并且改了以后就没法居中对齐了,在text后面加上,1就报错,也没办法一行打2个内容一个靠左一个靠右对齐,总之内容很不灵活,不过还是多谢你了  发表于 2017-3-30 00:02
嗯,改过后的确可以显示变量了,不过还是没有达到我的目的,我希望在内容那里可以使用条件分歧,比方if $game_variables[1]>=1 xx else xx这样的。  发表于 2017-3-29 23:59

评分

参与人数 2星屑 +1 梦石 +1 收起 理由
RaidenInfinity + 1 认可答案
踢腿水上飘 + 1 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 05:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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