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

Project1

 找回密码
 注册会员
搜索

怪物图鉴的文本描述如何扩充

查看数: 330 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2024-6-8 13:20

正文摘要:

本帖最后由 神隐的主犯 于 2024-6-13 18:58 编辑 直接先上工程 链接:https://pan.baidu.com/s/1eNCbfkKZXYAKcvH24MwLFA?pwd=1111 提取码:1111 ↑佬佬脚本的进度条位置,这个应该在第几行修改啊 ...

回复

神隐的主犯 发表于 2024-6-13 19:03:12
魔法丶小肉包 发表于 2024-6-13 17:36
放在相关的脚本下方使用,按键盘上的S和D键操作(Q和W被占用掉了),最上面3行可以修改的 PS:工程懒得下载 ...

回老师,我用了最笨蛋的一种办法解决。
我把你那个sd移动的进度条和按钮设成透明了。
所以不回复也没事的。谢谢佬佬

点评

在第74行的括号内前两个参数分别是x和y坐标,可以改这两个进行调整,另外你这边的窗口是4行所以别忘了把脚本第3行那个改成4  发表于 2024-6-13 19:45
神隐的主犯 发表于 2024-6-13 18:57:11
魔法丶小肉包 发表于 2024-6-13 17:36
放在相关的脚本下方使用,按键盘上的S和D键操作(Q和W被占用掉了),最上面3行可以修改的 PS:工程懒得下载 ...

佬!!有效果!!!但唯一难绷的问题是。
进度条它大概在....嗯.....
我放主题图里边好了
魔法丶小肉包 发表于 2024-6-8 13:20:48
放在相关的脚本下方使用,按键盘上的S和D键操作(Q和W被占用掉了),最上面3行可以修改的 PS:工程懒得下载...用的贴出来的脚本直接测试的,放工程里如果有问题再说吧

RUBY 代码复制
  1. Schedule_Bitmap_Color = Color.new(255,255,255) #进度条边框颜色
  2. Schedule_Index_Color = Color.new(255,255,255) #进度条光标颜色
  3. Max_Show_Line = 3 #帮助窗口能够显示的行数
  4.  
  5. class Window_BestiaryHelp
  6.   attr_reader :line_number
  7.   attr_accessor :line_index
  8.   alias mf240613initialize initialize
  9.   def initialize(x, y)
  10.     mf240613initialize(x, y)
  11.     @help_text = ""
  12.     @line_number = 0
  13.     @line_index = 0
  14.   end
  15.   def get_text_number_index
  16.     @line_number = @help_text.gsub(/[|]/, "\n").scan("\n").size + 1
  17.     @line_index = [@line_number,Max_Show_Line].min
  18.   end
  19.   def set_description(enemy)
  20.     contents.clear
  21.     contents.dispose
  22.     get_description_text(enemy)
  23.     self.contents = Bitmap.new(contents_width, @line_number*30)
  24.     text = get_description_text(enemy)
  25.     if Venka::Bestiary::Use_Wordwrapper
  26.       wrapping = @wordwrap
  27.       @wordwrap = true
  28.       draw_text_ex(0, 0, text.gsub(/[|]/, ""))
  29.       @wordwrap = wrapping
  30.     else
  31.       draw_text_ex(0, 0, text.gsub(/[|]/, "\n"))
  32.     end
  33.   end
  34.   alias mf240613get_description_text get_description_text
  35.   def get_description_text(enemy)
  36.     @help_text = mf240613get_description_text(enemy)
  37.     get_text_number_index
  38.     @help_text
  39.   end
  40.   def wave_size
  41.     @line_number > Max_Show_Line ? [Max_Show_Line,@line_number] : false
  42.   end
  43.   def update
  44.     super
  45.     return if @line_number <= Max_Show_Line
  46.     self.oy = (@line_index - Max_Show_Line) * 24
  47.   end
  48. end
  49. class Scene_Bestiary
  50.   def create_schedule(x,y,z=0)
  51.     create_schedule_bitmap(x,y,z)
  52.     create_schedule_index_sprite(x,y,z)
  53.   end
  54.   def create_schedule_bitmap(x,y,z=0)
  55.     @schedule_bitmap = Sprite.new
  56.     @schedule_bitmap.x = x
  57.     @schedule_bitmap.y = y
  58.     @schedule_bitmap.z = z
  59.     @schedule_bitmap.bitmap = Bitmap.new(24,80)
  60.     @schedule_bitmap.bitmap.fill_rect(6, 0, 12, 80, Schedule_Bitmap_Color)
  61.     @schedule_bitmap.bitmap.fill_rect(7, 1, 10, 78, Color.new(0,0,0))
  62.   end
  63.   def create_schedule_index_sprite(x,y,z=0)
  64.     @schedule_index = Sprite.new
  65.     @schedule_index.x = x
  66.     @schedule_index.y = y
  67.     @schedule_index.z = z
  68.     @schedule_index.bitmap = Bitmap.new(24,12)
  69.     @schedule_index.bitmap.fill_rect(6, 0, 12, 12, Schedule_Index_Color)
  70.   end
  71.   alias mf240613start start
  72.   def start
  73.     mf240613start
  74.     create_schedule(544-24,282,200)
  75.     @schedule_bitmap.visible = !@list_window.visible
  76.     @schedule_index.visible = @schedule_bitmap.visible
  77.   end
  78.   def update_schedule
  79.     @schedule_bitmap.visible = !@list_window.visible
  80.     @schedule_index.visible = @schedule_bitmap.visible
  81.     return unless @schedule_index
  82.     @schedule_index.update
  83.   end
  84.   def update_index_sprite
  85.     return unless @descript_window && @schedule_bitmap && @descript_window.line_number > Max_Show_Line
  86.     move_y = (@schedule_bitmap.bitmap.height - @schedule_index.bitmap.height).to_f / (@descript_window.line_number - Max_Show_Line)
  87.     move_h = (@descript_window.line_index - Max_Show_Line) * move_y
  88.     @schedule_index.y = @schedule_bitmap.y + move_h
  89.   end
  90.   def dispose_schedule
  91.     return unless @schedule_index && @schedule_bitmap
  92.     @schedule_index.dispose
  93.     @schedule_bitmap.dispose
  94.   end
  95.   def update_help_line
  96.     return unless @schedule_index.visible && @descript_window.line_number > Max_Show_Line
  97.     @descript_window.line_index -= 1 if Input.trigger?(:Y)
  98.     @descript_window.line_index += 1 if Input.trigger?(:Z)
  99.     wave_size = @descript_window.wave_size
  100.     if wave_size
  101.       @descript_window.line_index = wave_size.max if @descript_window.line_index > wave_size.max
  102.       @descript_window.line_index = wave_size.min if @descript_window.line_index < wave_size.min
  103.     end
  104.     @descript_window.update if Input.trigger?(:Y) || Input.trigger?(:Z)
  105.   end
  106.   alias mf240613update update
  107.   def update
  108.     mf240613update
  109.     update_help_line
  110.     update_schedule
  111.     update_index_sprite
  112.   end
  113.   alias mf240613terminate terminate
  114.   def terminate
  115.     mf240613terminate
  116.     dispose_schedule
  117.   end
  118. end
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-9-20 17:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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