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

Project1

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

[已经解决] 关于多重状态显示脚本的问题!!!

[复制链接]

Lv1.梦旅人

梦石
0
星屑
49
在线时间
178 小时
注册时间
2012-11-18
帖子
57
跳转到指定楼层
1
发表于 2012-12-6 17:22:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
问题图片已经附上,上面的状态字被削去了一半,而且第四个状态会在下一行出现,而我希望他们能在同一行...
使用的是主站上的多重状态脚本
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================
  4. #==============================================================================
  5. # 多重状态     Ver. 1.1                 by Claimh
  6. #------------------------------------------------------------------------------
  7. # http://www.k3.dion.ne.jp/~claimh/
  8. #==============================================================================
  9. class Window_Base < Window
  10.   #--------------------------------------------------------------------------
  11.   #  生成状态文字
  12.   #--------------------------------------------------------------------------
  13.   def make_battler_state_text_over3(battler, width, need_normal)
  14.     brackets_width = self.contents.text_size("[]").width
  15.     text = ""
  16.     text0 = ""
  17.     ret_text = ["",""]
  18.     for i in battler.states
  19.       if $data_states[i].rating >= 1
  20.         if text == ""
  21.           text = $data_states[i].name
  22.         else
  23.           new_text = text + "/" + $data_states[i].name
  24.           text_width = self.contents.text_size(new_text).width
  25.           if text_width > width - brackets_width
  26.             text0 = new_text  
  27.             text = ""
  28.             new_text = ""
  29.             text_width = 0
  30.           else
  31.             text = new_text  
  32.           end
  33.         end
  34.       end
  35.     end
  36.     if text == "" and text0 == ""
  37.       ret_text = ["[正常]", ""]
  38.     elsif text0 == ""
  39.       ret_text[0] = "[" + text + "]"
  40.       ret_text[1] = ""
  41.     else
  42.       ret_text[0] = "[" + text0 + "]"
  43.       if text != ""
  44.         ret_text[1] = "[" + text + "]"
  45.       else
  46.         ret_text[1] = ""
  47.       end
  48.     end
  49.     return ret_text
  50.   end
  51.   #--------------------------------------------------------------------------
  52.   # 描绘角色状态
  53.   #--------------------------------------------------------------------------
  54.   def draw_actor_state(actor, x, y, width = 120)
  55.     text = make_battler_state_text_over3(actor, width, true)
  56.     self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
  57.     if text[1] == ""
  58.       self.contents.draw_text(x-5, y, width+5, 32, text[0])
  59.     else
  60.       self.contents.font.size = 20
  61.       self.contents.draw_text(x-5, y - 15 , width+5, 32, text[0])
  62.       self.contents.draw_text(x-5, y + 8, width+5, 32, text[1])
  63.     end
  64.   end
  65. end
  66. #==============================================================================
  67. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  68. #==============================================================================
复制代码

QQ截图20121206171708.png (64.99 KB, 下载次数: 5)

QQ截图20121206171708.png

Lv1.梦旅人

◇无限的妄想者◇

梦石
0
星屑
50
在线时间
1441 小时
注册时间
2012-7-14
帖子
2339
2
发表于 2012-12-6 19:25:34 | 只看该作者
修改建议:
1 延长一行内能存放的字符数:
54行括号里面的 width = 120 将120改大,然后所有self.contents.draw_text()函数的第一个参量x-5改小(改成x-10神马的)
2 如果要彻底解决问题,则删除脚本24~32行(建议注释掉,方便在之后出错时修复)

评分

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

查看全部评分


————————————————————————————————————
新坑Dreamoon酝酿中,预计短篇⑨完工发布。
————————————————————————————————————
如何调戏橙光文字的 高级UI 系列教程:  鉴赏页制作篇背包系统制作篇
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
568 小时
注册时间
2012-9-7
帖子
611
3
发表于 2012-12-7 10:08:46 | 只看该作者
这个问题一直就有,没有好的解决办法,如果同时附加上10+个状态,再怎么延长也写不下,靠人为的办法是少设置一些自动状态,但不一定符合自己的作品标准
所以我现在放弃这个脚本投靠状态颜色脚本了,那个脚本至少在战斗的时候多少的状态也可以显示得很美观

评分

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

查看全部评分

FTM正式版已经发布,点击图片开启传送门
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
178 小时
注册时间
2012-11-18
帖子
57
4
 楼主| 发表于 2012-12-7 10:24:56 | 只看该作者
幻想中的鸡蛋 发表于 2012-12-6 19:25
修改建议:
1 延长一行内能存放的字符数:
54行括号里面的 width = 120 将120改大,然后所有self.contents. ...

嗯嗯好的,我试了一下第二个方法,但是那样的话又和默认的一样显示最上层的状态了。第一个方法可以临时解决问题呢,谢谢啦~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
178 小时
注册时间
2012-11-18
帖子
57
5
 楼主| 发表于 2012-12-7 10:25:24 | 只看该作者
wingzeroplus 发表于 2012-12-7 10:08
这个问题一直就有,没有好的解决办法,如果同时附加上10+个状态,再怎么延长也写不下,靠人为的办法是少设 ...

状态颜色脚本是什么?是图标显示状态吗?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
568 小时
注册时间
2012-9-7
帖子
611
6
发表于 2012-12-7 12:33:06 | 只看该作者
本帖最后由 wingzeroplus 于 2012-12-7 12:37 编辑

http://www.66rpg.com/articles/2896
主站有的 搜索一下就知道
不是图标,图标只能显示5个状态
颜色状态可以将出现的状态不断的轮流显示,个人感觉比较好用
FTM正式版已经发布,点击图片开启传送门
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

7
发表于 2014-4-13 22:19:28 | 只看该作者
wingzeroplus 发表于 2012-12-7 12:33
http://www.66rpg.com/articles/2896
主站有的 搜索一下就知道
不是图标,图标只能显示5个状态

可以同时存在吗,我看原工程使用毒后敌人中毒,使用麻痹后敌人麻痹但是毒没了,这样的。

点评

请勿挖坟。  发表于 2014-4-15 06:34
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-4 12:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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