查看: 6552|回复: 8

[已经解决] 如何在图鉴中加入说明。

[复制链接]
梦石
0
星屑
50
在线时间
55 小时
注册时间
2010-10-27
回帖
32
发表于 2013-3-10 15:25:07 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 fssssss 于 2013-3-12 23:34 编辑

我把备注的文字加入怪物图鉴里面,但是不知道怎么把文字换行。
而且多了很多奇怪的标点符号。
http://rpg.blue/forum.php?mod=viewthread&tid=223640
发现这个问题是个大坑,找了一天了都有人问,但是没有人解决。
梦石
0
星屑
200
在线时间
120 小时
注册时间
2007-8-17
回帖
128
发表于 2013-3-10 17:25:46 | 显示全部楼层
本帖最后由 千昭 于 2013-3-10 17:29 编辑

你都怎么做的

把问题再描述清楚些,最好带上你改的代码 和图片

因为不可能所有人都熟悉那么长的代码   很多人直接可能懒得帮你读

例如 你问西游降魔篇里孙悟空是怎么出来的,那我不可能为了回答这个问题去把整个电影看一遍  因为我懒····{:2_276:}


看到好多人提问都是这样简单的问   不能起到让人起帮助心的作用  所以忍不住多说一些  见谅
回复

使用道具 举报

梦石
0
星屑
50
在线时间
55 小时
注册时间
2010-10-27
回帖
32
 楼主| 发表于 2013-3-10 17:56:29 | 显示全部楼层
12.    ENEMY_MORE_INFO_BUTTON = :X  # 显示敌人更多资讯的按键

13.    ENEMY_MORE_INFO = false      # 是否显示更多讯息(扩充用)

原本这里有这么写,但是我发现这个功能完全弄不出来,把 ENEMY_MORE_INFO = ture 后也是无反应。更蛋疼的是脚本说明里面都没有说这个是干嘛用的。估计是没开发完。

所以我 加了这么一段      218 draw_other_info(ENEMY_IMAGE_MAX_WIDTH+8, line_height*13)  
改了这里
  #--------------------------------------------------------------------------
  # ●●●●●● 绘制其他资讯
  #--------------------------------------------------------------------------

  def draw_other_info(x,y)
   
      e_na = enemy.note.split{/[(?:note|介绍1)\ ]/}
      e_nb = enemy.note.split{/[(?:note|介绍2)\ ]/}
   
      change_color(system_color)
      draw_text(x, y, 500, line_height, e_na)
      draw_text(x, y+line_height, 500, line_height, e_nb)
      change_color(normal_color)
   
  end

最后是这个效果
https://rpg.blue/forum.php?mod=attachment&aid=MTU2MDIwfGY5NjQ4ZTI2fDE3OTA5NTE4OTR8MHw%3D
说明文字都是来自备注的

我只是想让它换个行,但是弄不了。
1.jpg
回复

使用道具 举报

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
回帖
1526
发表于 2013-3-12 10:03:14 | 显示全部楼层
本帖最后由 j433463 于 2013-3-12 11:04 编辑

它不是没发完,最后用到的 partial_refresh 是在窗口脚本中,不是在场景中,可能因为这样您没找到。

在 partial_refresh 它会刷新以绘制敌人体力,魔力,能力,掉落金钱和道具,为什么没作用我就不清楚了。


呃,我找到它半刷新时用到 draw_other_info 这个,但查过去,那是是绘制其他资讯的,但其中没有任何东西,

也许您该把想增加的写在这个地方。

呃...我试着这样改了原有窗口脚本的 draw_other_info:

[pre lang="ruby" line="1"]  #--------------------------------------------------------------------------
  # ● 绘制其他资讯
  #--------------------------------------------------------------------------
  def draw_other_info
      x = 100
      y = 400
      e_na = "text1"
      e_nb = "text2"
      change_color(system_color)
      draw_text(x + 100, y + line_height, 500, line_height, e_na)
      draw_text(x + 100, y + line_height * 2, 500, line_height, e_nb)
      change_color(normal_color)
  end
[/pre]

测试时 text1 和 text2 是有分两行显示,但它把原来显示的那些都清除了,只留下这两行。

点评

:X 默认应该是 A 键吧?  发表于 2013-3-12 10:04
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
55 小时
注册时间
2010-10-27
回帖
32
 楼主| 发表于 2013-3-12 20:36:41 | 显示全部楼层
j433463 发表于 2013-3-12 10:03
它不是没发完,最后用到的 partial_refresh 是在窗口脚本中,不是在场景中,可能因为这样您没找到。

在 pa ...

我倒是能让他显示备注的信息,而且不用按A键,
但是备注里面的信息不换行,超出了窗口, 麻烦在这里。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
回帖
1526
发表于 2013-3-12 20:41:23 | 显示全部楼层
本帖最后由 j433463 于 2013-3-12 20:42 编辑

e_na = enemy.note.split{/[(?:note|介绍1)\ ]/}

您没发现您给的图中括号引号都没去掉吗?您看看您的这式子,应该是 {\[ 吧?您打成 /] 了,整个分割字串根本不起作用,后面 \] 之间还有空白,整个写法问题很大啊。
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
55 小时
注册时间
2010-10-27
回帖
32
 楼主| 发表于 2013-3-12 21:38:03 | 显示全部楼层
本帖最后由 fssssss 于 2013-3-12 21:41 编辑
j433463 发表于 2013-3-12 20:41
e_na = enemy.note.split{/[(?:note|介绍1)\ ]/}

您没发现您给的图中括号引号都没去掉吗?您看看您的这式 ...


{/[(?:note|介绍1)\ ]/}

这一串太复杂,我都是复制别人的,但是我根本看不懂是什么意思,
只知道是能引用备注里面的 文字。想要的效果是[介绍 内容] ,然后在图鉴里显示内容出来。
但是我不懂原理是什么。我为了这个查了10几个小时的资料 都没得解决

点评

当然,最好能找到 ruby 或 rgss3 的正则教学。  发表于 2013-3-12 22:21
关于正则表达式,我建议您去参考一下 php 或 javascript 或其它有介绍正则表示式,正规表达式,反正意思一样的东西,内容用法大同小异。  发表于 2013-3-12 22:20
回复

使用道具 举报

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
回帖
1526
发表于 2013-3-12 22:16:40 | 显示全部楼层
如果只是不用按 A 键在原资料下加上两行内容,那其实很容易,不需要用到 def draw_other_info(x,y) 来做,那会占了原来有的方法,

直接在窗口刷新和半刷新那边,绘制敌人辨识度的下方用个像 draw_add_info(ENEMY_IMAGE_MAX_WIDTH+8, line_height*11) 之类,

然后找个位置放 def draw_add_info(x,y) ,就是您写的 def draw_other_info(x,y) 那些,这样不影响原来的方法。


{\[(?:note|介绍1)\ ]/} 应该是想用表达式,不过用 {} 有点怪,一般都是用 () 的,{} 在某些场合有特殊用途,

而且备注栏用 <> 比 [] 常见,取字串也不好用 split 分割字串方式。

我比较建议这样做:
  1.     e_na = $1.to_s if enemy.note =~ /<note1:\s*(.*?)>/i
  2.     e_nb = $1.to_s if enemy.note =~ /<note2:\s*(.*?)>/i
复制代码
在敌人角色备注栏这样写:

s2.png

测试结果:

s1.png
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
55 小时
注册时间
2010-10-27
回帖
32
 楼主| 发表于 2013-3-12 23:34:33 | 显示全部楼层
j433463 发表于 2013-3-12 22:16
如果只是不用按 A 键在原资料下加上两行内容,那其实很容易,不需要用到 def draw_other_info(x,y) 来做, ...

多谢狮子头,
我已经搞定了,
整个论坛就是你最有耐心,最有爱心了。

点评

过奖了,我只是刚好也在调整图鉴,一起做了测试而已,事实上论坛中很多帖子我也没回应,有不少是我根本不懂的,也有想观摩借鉴一下的。  发表于 2013-3-12 23:51
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部