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

Project1

 找回密码
 注册会员
搜索
楼主: 89444640
打印 上一主题 下一主题

[已经解决] 状态界面排版

[复制链接]

Lv5.捕梦者

梦石
0
星屑
35180
在线时间
4169 小时
注册时间
2007-12-15
帖子
10066
41
 楼主| 发表于 2018-6-26 11:33:36 | 只看该作者
本帖最后由 89444640 于 2018-7-4 07:55 编辑
soulsaga 发表于 2018-6-26 09:22
最大值写999啊喂..之前菜刀不是说过了么..


大概这样……下面的数字还没填。

现在该弄精灵这两个字的位置了,找不到在哪里……

点评

这脚本让人看到不得砸墙,角色等级小于等于19显示为 十九 等级大于10显示文字十位数的数值 显示文字十 显示文字个位数的数值。这个才比较程序~  发表于 2018-6-26 16:48
=v= 完全可以 case @actor.level ;when 1 ;a = "壹" ..... 这样搞99个分歧, 保证阅读顺畅毫无破绽  发表于 2018-6-26 16:28
等级这个,还有个阅读习惯问题,如果大写比如等级 十七没问题,但是 等级二三 就不对劲了,应该是等级二十三,需要用十补位  发表于 2018-6-26 16:24
等级可以用大写,不影响阅读  发表于 2018-6-26 15:32
图稍微改了一下,红是血蓝是魔 不浪费文字解释了。其实我还真有点想显示大写汉字,HP 壹叁陆伍~但是阅读极其不便,所以还是阿拉伯数字吧。  发表于 2018-6-26 15:26
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36382
在线时间
10788 小时
注册时间
2009-3-15
帖子
4813
42
发表于 2018-6-26 11:38:42 | 只看该作者
89444640 发表于 2018-6-26 11:33
大概这样……下面的数字还没填。

现在该弄精灵这两个字的位置了,找不到在哪里…… ...

#==============================================================================
# ■ Window_Status
#==============================================================================
class Window_Status < Window_Base
  #--------------------------------------------------------------------------
  # ● リフレッシュ
  #--------------------------------------------------------------------------
  alias refresh_spirit refresh
  def refresh
    refresh_spirit
    draw_partner_name(@actor, 320, 0)
  end
end

点评

这个可以改 精灵 两个字的位置,而且还给我出繁体字- -b,然后后面跟着的精灵名字位置还在原地,这个在哪里呢?  发表于 2018-6-26 11:46
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36382
在线时间
10788 小时
注册时间
2009-3-15
帖子
4813
43
发表于 2018-6-26 11:56:28 | 只看该作者
本帖最后由 soulsaga 于 2018-6-26 11:57 编辑
89444640 发表于 2018-6-26 11:33
大概这样……下面的数字还没填。

现在该弄精灵这两个字的位置了,找不到在哪里…… ...


#==============================================================================
# ■ Window_Base
#==============================================================================
class Window_Base < Window
  #--------------------------------------------------------------------------
  # ● パートナー名表示(アクター用)
  #--------------------------------------------------------------------------
  def draw_partner_name(actor, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 80, 32, "精霊")
    self.contents.font.color = normal_color
    name = actor.partner.disable? ? "―" : actor.partner.obj.name
    self.contents.draw_text(x+60, 0, 120, 32, name)
  end

把self.contents.draw_text(x+60, 0, 120, 32, name)
的0改成y?
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
35180
在线时间
4169 小时
注册时间
2007-12-15
帖子
10066
44
 楼主| 发表于 2018-6-26 15:21:35 | 只看该作者
先能正常显示再说吧,刚才单位连续跳闸,吓死我了,跳闸会造成数据库损坏虽然有备份。

字体压缩是因为原来用的默认写法,现在用添白字,就可以改正常位置了。

然后那个颜色……怎么改?其实没必要改了,但是后面精灵那个非得显示个浅蓝色- -b我也不知道怎么改成白的……

然后主界面这个经验和HP最大HP之间分隔的/还是没加上


全局搜索出来这么一片,其中好几个脚本不是我加的,加脚本以前没有/不显示的情况,所以只能猜测,

可能是这个脚本闹得

话说,折叠代码怎么用来着?太长了。

RUBY 代码复制
  1. # ————————————————————————————————————
  2. # 本脚本来自[url]www.66rpg.com[/url],转载请保留此信息
  3. # ————————————————————————————————————
  4.  
  5. # HP/SP/EXPゲージ表示スクリプト Ver 1.00
  6. # 配布元・サポートURL
  7. # [url]http://members.jcom.home.ne.jp/cogwheel/[/url]
  8.  
  9. #==============================================================================
  10. # ■ Game_Actor
  11. #------------------------------------------------------------------------------
  12. #  アクターを扱うクラスです。このクラスは Game_Actors クラス ($game_actors)
  13. # の内部で使用され、Game_Party クラス ($game_party) からも参照されます。
  14. #==============================================================================
  15.  
  16. class Game_Actor < Game_Battler
  17.   def now_exp
  18.     return @exp - @exp_list[@level]
  19.   end
  20.   def next_exp
  21.     return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  22.   end
  23. end
  24.  
  25. #==============================================================================
  26. # ■ Window_Base
  27. #------------------------------------------------------------------------------
  28. #  ゲーム中のすべてのウィンドウのスーパークラスです。
  29. #==============================================================================
  30.  
  31. class Window_Base < Window
  32.   #--------------------------------------------------------------------------
  33.   # ● HP ゲージの描画
  34.   #--------------------------------------------------------------------------
  35.   # オリジナルのHP描画を draw_actor_hp_original と名前変更
  36.   alias :draw_actor_hp_original :draw_actor_hp
  37.    def draw_actor_hp(actor, x, y, width = 144)
  38.     # 変数rateに 現在のHP/MHPを代入
  39.     if actor.maxhp != 0
  40.       rate = actor.hp.to_f / actor.maxhp
  41.     else
  42.       rate = 0
  43.     end
  44.     # plus_x:X座標の位置補正 rate_x:X座標の位置補正(%) plus_y:Y座標の位置補正
  45.     # plus_width:幅の補正 rate_width:幅の補正(%) height:縦幅
  46.     # align1:描画タイプ1 0:左詰め 1:中央揃え 2:右詰め
  47.     # align2:描画タイプ2 0:上詰め 1:中央揃え 2:下詰め
  48.     # align3:ゲージタイプ 0:左詰め 1:右詰め
  49.     plus_x = 0
  50.     rate_x = 0
  51.     plus_y = 25
  52.     plus_width = 0
  53.     rate_width = 100
  54.     height = 10
  55.     align1 = 1
  56.     align2 = 2
  57.     align3 = 0
  58.     # グラデーション設定 grade1:空ゲージ grade2:実ゲージ
  59.     # (0:横にグラデーション 1:縦にグラデーション 2:斜めにグラデーション(激重))
  60.     grade1 = 1
  61.     grade2 = 0
  62.     # 色設定。color1:外枠,color2:中枠
  63.     # color3:空ゲージダークカラー,color4:空ゲージライトカラー
  64.     # color5:実ゲージダークカラー,color6:実ゲージライトカラー
  65.     color1 = Color.new(0, 0, 0, 192)
  66.     color2 = Color.new(255, 255, 192, 192)
  67.     color3 = Color.new(0, 0, 0, 192)
  68.     color4 = Color.new(64, 0, 0, 192)
  69.     color5 = Color.new(255 - 24* rate, 30 * rate, 14 * rate, 192)
  70.     color6 = Color.new(240 - 72 * rate, 240 * rate, 62 * rate, 192)
  71.     # 変数spに描画するゲージの幅を代入
  72.     if actor.maxhp != 0
  73.       hp = (width + plus_width) * actor.hp * rate_width / 100 / actor.maxhp
  74.     else
  75.       hp = 0
  76.     end
  77.     # ゲージの描画
  78.     gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
  79.                 width, plus_width + width * rate_width / 100,
  80.                 height, hp, align1, align2, align3,
  81.                 color1, color2, color3, color4, color5, color6, grade1, grade2)
  82.     # オリジナルのHP描画処理を呼び出し
  83.     draw_actor_hp_original(actor, x, y, width)
  84.   end
  85.   #--------------------------------------------------------------------------
  86.   # ● SP ゲージの描画
  87.   #--------------------------------------------------------------------------
  88.   # オリジナルのSP描画を draw_actor_sp_original と名前変更
  89.   alias :draw_actor_sp_original :draw_actor_sp
  90.   def draw_actor_sp(actor, x, y, width = 144)
  91.     # 変数rateに 現在のSP/MSPを代入
  92.     if actor.maxsp != 0
  93.       rate = actor.sp.to_f / actor.maxsp
  94.     else
  95.       rate = 1
  96.     end
  97.     # plus_x:X座標の位置補正 rate_x:X座標の位置補正(%) plus_y:Y座標の位置補正
  98.     # plus_width:幅の補正 rate_width:幅の補正(%) height:縦幅
  99.     # align1:描画タイプ1 0:左詰め 1:中央揃え 2:右詰め
  100.     # align2:描画タイプ2 0:上詰め 1:中央揃え 2:下詰め
  101.     # align3:ゲージタイプ 0:左詰め 1:右詰め
  102.     plus_x = 0
  103.     rate_x = 0
  104.     plus_y = 25
  105.     plus_width = 0
  106.     rate_width = 100
  107.     height = 10
  108.     align1 = 1
  109.     align2 = 2
  110.     align3 = 0
  111.     # グラデーション設定 grade1:空ゲージ grade2:実ゲージ
  112.     # (0:横にグラデーション 1:縦にグラデーション 2:斜めにグラデーション(激重))
  113.     grade1 = 1
  114.     grade2 = 0
  115.     # 色設定。color1:外枠,color2:中枠
  116.     # color3:空ゲージダークカラー,color4:空ゲージライトカラー
  117.     # color5:実ゲージダークカラー,color6:実ゲージライトカラー
  118.     color1 = Color.new(0, 0, 0, 192)
  119.     color2 = Color.new(255, 255, 192, 192)
  120.     color3 = Color.new(0, 0, 0, 192)
  121.     color4 = Color.new(0, 64, 0, 192)
  122.     color5 = Color.new(14 * rate, 80 - 24 * rate, 80 * rate, 192)
  123.     color6 = Color.new(62 * rate, 240 - 72 * rate, 240 * rate, 192)
  124.     # 変数spに描画するゲージの幅を代入
  125.     if actor.maxsp != 0
  126.       sp = (width + plus_width) * actor.sp * rate_width / 100 / actor.maxsp
  127.     else
  128.       sp = (width + plus_width) * rate_width / 100
  129.     end
  130.     # ゲージの描画
  131.     gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
  132.                 width, plus_width + width * rate_width / 100,
  133.                 height, sp, align1, align2, align3,
  134.                 color1, color2, color3, color4, color5, color6, grade1, grade2)
  135.     # オリジナルのSP描画処理を呼び出し
  136.     draw_actor_sp_original(actor, x, y, width)
  137.   end
  138.   #--------------------------------------------------------------------------
  139.   # ● 延迟时间描画
  140.   #--------------------------------------------------------------------------
  141.   def draw_actor_delay_time(actor, x, y, width = 144)
  142.     # 変数rateに 現在のSP/MSPを代入
  143.     if actor.delay_time_max != 0
  144.       rate = actor.delay_time.to_f / actor.delay_time_max
  145.     else
  146.       rate = 0
  147.     end
  148.     # plus_x:X座標の位置補正 rate_x:X座標の位置補正(%) plus_y:Y座標の位置補正
  149.     # plus_width:幅の補正 rate_width:幅の補正(%) height:縦幅
  150.     # align1:描画タイプ1 0:左詰め 1:中央揃え 2:右詰め
  151.     # align2:描画タイプ2 0:上詰め 1:中央揃え 2:下詰め
  152.     # align3:ゲージタイプ 0:左詰め 1:右詰め
  153.     plus_x = 0
  154.     rate_x = 0
  155.     plus_y = 25
  156.     plus_width = 0
  157.     rate_width = 100
  158.     height = 10
  159.     align1 = 1
  160.     align2 = 2
  161.     align3 = 0
  162.     # グラデーション設定 grade1:空ゲージ grade2:実ゲージ
  163.     # (0:横にグラデーション 1:縦にグラデーション 2:斜めにグラデーション(激重))
  164.     grade1 = 1
  165.     grade2 = 0
  166.     # 色設定。color1:外枠,color2:中枠
  167.     # color3:空ゲージダークカラー,color4:空ゲージライトカラー
  168.     # color5:実ゲージダークカラー,color6:実ゲージライトカラー
  169.     color1 = Color.new(0, 0, 0, 192)
  170.     color2 = Color.new(255, 255, 192, 192)
  171.     color3 = Color.new(0, 0, 0, 192)
  172.     color4 = Color.new(0, 64, 0, 192)
  173.     color5 = Color.new(100 * rate, 100 * rate, 0, 192)
  174.     color6 = Color.new(255 * rate, 255 * rate, 0, 192)
  175.     # 変数spに描画するゲージの幅を代入
  176.     if actor.delay_time_max != 0
  177.       sp = (width + plus_width) * actor.delay_time * rate_width / 100 / actor.delay_time_max
  178.     else
  179.       sp = (width + plus_width) * rate_width / 100
  180.     end
  181.     # ゲージの描画
  182.     gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
  183.                 width, plus_width + width * rate_width / 100,
  184.                 height, sp, align1, align2, align3,
  185.                 color1, color2, color3, color4, color5, color6, grade1, grade2)
  186.     # 描绘字符串 "行动时间"
  187.     self.contents.font.color = system_color
  188.     self.contents.font.size = 20
  189.     self.contents.draw_text(x, y, 120, 32, 'Delay')
  190.     self.contents.font.color = normal_color
  191.     self.contents.draw_text(x, y, 120, 32, actor.delay_time.to_s, 2)
  192.   end
  193.   #--------------------------------------------------------------------------
  194.   # ● 咏唱时间描画
  195.   #--------------------------------------------------------------------------
  196.   def draw_actor_casting_time(actor, x, y, width = 144)
  197.     # 変数rateに 現在のSP/MSPを代入
  198.     time = actor.casting_time_max - actor.casting_time
  199.     if actor.casting_time_max != 0
  200.       rate = time.to_f / actor.casting_time_max
  201.     else
  202.       rate = 0
  203.     end
  204.     # plus_x:X座標の位置補正 rate_x:X座標の位置補正(%) plus_y:Y座標の位置補正
  205.     # plus_width:幅の補正 rate_width:幅の補正(%) height:縦幅
  206.     # align1:描画タイプ1 0:左詰め 1:中央揃え 2:右詰め
  207.     # align2:描画タイプ2 0:上詰め 1:中央揃え 2:下詰め
  208.     # align3:ゲージタイプ 0:左詰め 1:右詰め
  209.     plus_x = 0
  210.     rate_x = 0
  211.     plus_y = 25
  212.     plus_width = 0
  213.     rate_width = 100
  214.     height = 10
  215.     align1 = 1
  216.     align2 = 2
  217.     align3 = 0
  218.     # グラデーション設定 grade1:空ゲージ grade2:実ゲージ
  219.     # (0:横にグラデーション 1:縦にグラデーション 2:斜めにグラデーション(激重))
  220.     grade1 = 1
  221.     grade2 = 0
  222.     # 色設定。color1:外枠,color2:中枠
  223.     # color3:空ゲージダークカラー,color4:空ゲージライトカラー
  224.     # color5:実ゲージダークカラー,color6:実ゲージライトカラー
  225.     color1 = Color.new(0, 0, 0, 192)
  226.     color2 = Color.new(255, 255, 192, 192)
  227.     color3 = Color.new(0, 0, 0, 192)
  228.     color4 = Color.new(0, 64, 0, 192)
  229.     color5 = Color.new(100 * rate, 100 * rate, 0, 192)
  230.     color6 = Color.new(255 * rate, 255 * rate, 0, 192)
  231.     # 変数spに描画するゲージの幅を代入
  232.     if actor.casting_time_max != 0
  233.       sp = (width + plus_width) * time * rate_width / 100 / actor.casting_time_max
  234.     else
  235.       sp = (width + plus_width) * rate_width / 100
  236.     end
  237.     # ゲージの描画
  238.     gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
  239.                 width, plus_width + width * rate_width / 100,
  240.                 height, sp, align1, align2, align3,
  241.                 color1, color2, color3, color4, color5, color6, grade1, grade2)
  242.     # 描绘字符串 "行动时间"
  243.     self.contents.font.color = system_color
  244.     self.contents.font.size = 20
  245.     self.contents.draw_text(x, y, 120, 32, 'Cast')
  246.     self.contents.font.color = normal_color
  247.     self.contents.draw_text(x, y, 120, 32, time.to_s, 2)
  248.   end
  249.   #--------------------------------------------------------------------------
  250.   # ● ゲージの描画
  251.   #--------------------------------------------------------------------------
  252.   def gauge_rect(x, y, rect_width, width, height, gauge, align1, align2, align3,
  253.                 color1, color2, color3, color4, color5, color6, grade1, grade2)
  254.     case align1
  255.     when 1
  256.       x += (rect_width - width) / 2
  257.     when 2
  258.       x += rect_width - width
  259.     end
  260.     case align2
  261.     when 1
  262.       y -= height / 2
  263.     when 2
  264.       y -= height
  265.     end
  266.     # 枠描画
  267.     self.contents.fill_rect(x, y, width, height, color1)
  268.     self.contents.fill_rect(x + 1, y + 1, width - 2, height - 2, color2)
  269.     if align3 == 0
  270.       if grade1 == 2
  271.         grade1 = 3
  272.       end
  273.       if grade2 == 2
  274.         grade2 = 3
  275.       end
  276.     end
  277.     if (align3 == 1 and grade1 == 0) or grade1 > 0
  278.       color = color3
  279.       color3 = color4
  280.       color4 = color
  281.     end
  282.     if (align3 == 1 and grade2 == 0) or grade2 > 0
  283.       color = color5
  284.       color5 = color6
  285.       color6 = color
  286.     end
  287.     # 空ゲージの描画
  288.     self.contents.gradation_rect(x + 2, y + 2, width - 4, height - 4,
  289.                                   color3, color4, grade1)
  290.     if align3 == 1
  291.       x += width - gauge
  292.     end
  293.     # 実ゲージの描画
  294.     self.contents.gradation_rect(x + 2, y + 2, gauge - 4, height - 4,
  295.                                   color5, color6, grade2)
  296.   end
  297. end
  298.  
  299. #------------------------------------------------------------------------------
  300. #  Bitmapクラスに新たな機能を追加します。
  301. #==============================================================================
  302.  
  303. class Bitmap
  304.   #--------------------------------------------------------------------------
  305.   # ● 矩形をグラデーション表示
  306.   #     color1 : スタートカラー
  307.   #     color2 : エンドカラー
  308.   #     align  :  0:横にグラデーション
  309.   #               1:縦にグラデーション
  310.   #               2:斜めにグラデーション(激重につき注意)
  311.   #--------------------------------------------------------------------------
  312.   def gradation_rect(x, y, width, height, color1, color2, align = 0)
  313.     if align == 0
  314.       for i in x...x + width
  315.         red   = color1.red + (color2.red - color1.red) * (i - x) / (width - 1)
  316.         green = color1.green +
  317.                 (color2.green - color1.green) * (i - x) / (width - 1)
  318.         blue  = color1.blue +
  319.                 (color2.blue - color1.blue) * (i - x) / (width - 1)
  320.         alpha = color1.alpha +
  321.                 (color2.alpha - color1.alpha) * (i - x) / (width - 1)
  322.         color = Color.new(red, green, blue, alpha)
  323.         fill_rect(i, y, 1, height, color)
  324.       end
  325.     elsif align == 1
  326.       y = Integer(y)
  327.       for i in y...y + height
  328.         red   = color1.red +
  329.                 (color2.red - color1.red) * (i - y) / (height - 1)
  330.         green = color1.green +
  331.                 (color2.green - color1.green) * (i - y) / (height - 1)
  332.         blue  = color1.blue +
  333.                 (color2.blue - color1.blue) * (i - y) / (height - 1)
  334.         alpha = color1.alpha +
  335.                 (color2.alpha - color1.alpha) * (i - y) / (height - 1)
  336.         color = Color.new(red, green, blue, alpha)
  337.         fill_rect(x, i, width, 1, color)
  338.       end
  339.     elsif align == 2
  340.       for i in x...x + width
  341.         for j in y...y + height
  342.           red   = color1.red + (color2.red - color1.red) *
  343.                   ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  344.           green = color1.green + (color2.green - color1.green) *
  345.                   ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  346.           blue  = color1.blue + (color2.blue - color1.blue) *
  347.                   ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  348.           alpha = color1.alpha + (color2.alpha - color1.alpha) *
  349.                   ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  350.           color = Color.new(red, green, blue, alpha)
  351.           set_pixel(i, j, color)
  352.         end
  353.       end
  354.     elsif align == 3
  355.       for i in x...x + width
  356.         for j in y...y + height
  357.           red   = color1.red + (color2.red - color1.red) *
  358.                 ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  359.           green = color1.green + (color2.green - color1.green) *
  360.                 ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  361.           blue  = color1.blue + (color2.blue - color1.blue) *
  362.                 ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  363.           alpha = color1.alpha + (color2.alpha - color1.alpha) *
  364.                 ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  365.           color = Color.new(red, green, blue, alpha)
  366.           set_pixel(i, j, color)
  367.         end
  368.       end
  369.     end
  370.   end
  371. end

点评

别说,我还真给定义过,搜了一下C0E0FF 浅蓝色 16号  发表于 2018-6-26 16:51
猫大脚本里面有,不过还得改个已经订好的颜色……不过反正那么多颜色我都没用上,改个和这个字体一样的颜色吧。  发表于 2018-6-26 16:49
可以自己加颜色, 到window_base 找到 def text_color(n) 下面加上 when 8, RGB数值添一下,就新建个颜色了  发表于 2018-6-26 16:24
def draw_partner_name(actor, x, y) self.contents.font.color = system_color  发表于 2018-6-26 16:24
系统那个浅蓝色,就是搭档这里这个,是哪个?默认里面的没有,自己调的里面也没有,需要单独调一个吗?  发表于 2018-6-26 16:17
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36382
在线时间
10788 小时
注册时间
2009-3-15
帖子
4813
45
发表于 2018-6-26 15:53:05 | 只看该作者
本帖最后由 soulsaga 于 2018-6-26 16:09 编辑
89444640 发表于 2018-6-26 15:21
先能正常显示再说吧,刚才单位连续跳闸,吓死我了,跳闸会造成数据库损坏虽然有备份。

字体压缩是因为原来 ...


#--------------------------------------------------------------------------
  # ● 描绘当前和最大值
  #     current : 当前值
  #     max     : 最大值
  #     color1  : 当前值颜色
  #     color2  : 最大值颜色
  #--------------------------------------------------------------------------
  def draw_current_and_max_values(x, y, width, current, max, color1, color2)
    change_color(color1)
    half = (width - 12) >> 1
    if half < text_size(max).width
      draw_text(x, y, width, line_height, current, 2)
    else
      draw_text(x, y, half, line_height, current, 2)
      change_color(color2)
      #draw_text(x + half, y, 12, line_height, "/", 1)
      draw_text(x + half + 12, y, half, line_height, max, 0)
    end
  end

显示/去掉注译就行..

def draw_partner_name(actor, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 80, 32, "精霊")

这里第2行换了颜色..你懂的..

点评

晚上得跟你慢慢问精灵系统了,完全忘了怎么调整。  发表于 2018-6-26 16:54
嗯,这个没问题了,看看怎么把精灵弄正常,这个系统都忘了怎么回事了……  发表于 2018-6-26 16:09
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39009
在线时间
5716 小时
注册时间
2006-11-10
帖子
6618
46
发表于 2018-6-26 17:32:04 | 只看该作者
本帖最后由 灯笼菜刀王 于 2018-6-26 18:36 编辑

  给你个数字大写插件, 可以把0-99999的数字转化为大写格式,  使用方法, 数字(n)   n填要转化的数字。

栗子:

a = 数字(@actor.level)   这样  a就是角色等级的 大写数字。 然后用 添字(a,XXXXXXX) 就可以了显示出来了

RUBY 代码复制
  1. #==============================
  2. #  数字大写化插件1.1      灯笼菜刀酱
  3. #==============================
  4. class Window_Base < Window
  5. def 大写(n)
  6.   case n
  7.   when 1
  8.     return "壹"
  9.   when 2
  10.     return "贰"
  11.   when 3
  12.     return "叁"
  13.   when 4
  14.     return "肆"
  15.   when 5
  16.     return "伍"
  17.   when 6
  18.     return "陆"
  19.   when 7
  20.     return "柒"
  21.   when 8
  22.     return "捌"
  23.   when 9
  24.     return "玖"
  25.   when 0
  26.     return ""
  27.   end
  28. end
  29. def 数字(n)
  30. return "超范围" if n < 0 and n > 99999
  31. return "零" if n == 0
  32.   a = 大写(n%10)
  33.   m = n / 10
  34.   b = n < 10 ? "" : m == 1 ? "拾" : m == 0 ? n%10 == 0 ? "" : "零" : 大写(m%10)+"拾"
  35.   m = n / 100
  36.   c = n < 100 ? "" : m == 0 ? n/10 == 0 ? "" : "零" : 大写(m%10)+"佰"
  37.   m = n / 1000
  38.   d = n < 1000 ? "" : m == 0 ? n/100 == 0 ? "" : "零" : 大写(m%10)+"仟"
  39.   m = n / 10000
  40.   e = n < 10000 ? "" : m == 0 ? n/1000 == 0 ? "" : "零" : 大写(m%10)+"萬"
  41.   return e+d+c+b+a
  42. end
  43. end

点评

重新复制,1.1版,, 十位数增加了个判断避免 出现 一百零  发表于 2018-6-26 18:37
=.= 常有的事  发表于 2018-6-26 17:48
差了个end - -b  发表于 2018-6-26 17:43
看着真心蛋疼ORZ 回头试试看显示效果 纯中文界面除了阅读不便也挺爽的。  发表于 2018-6-26 17:37

评分

参与人数 1+1 收起 理由
89444640 + 1 漂亮~

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
35180
在线时间
4169 小时
注册时间
2007-12-15
帖子
10066
47
 楼主| 发表于 2018-6-26 17:34:42 | 只看该作者
可以把以前因为画不过来开除的角色,当做精灵使用叫回来了,但是精灵系统还得好好问问,加属性不能加太多了。

截止到风神录为止,萃香和芙兰在前面,因为动作不全我一直没做己方用,
说实话,风神录角色我都有点不想加,因为早苗国籍我实在给说不圆。
后面就只能无视了,我根本给说不圆,人家本来原作就没连着说。

即使每个角色画一个招式,只要不是那种摆个手卖萌的简单动作,好好画近身动作,还是挺累人的,我量力而为吧。

话说菜刀王,我这个精灵系统和子弹消耗系统一起调会不会混乱……是弄完一样再弄一样好吧?
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
35180
在线时间
4169 小时
注册时间
2007-12-15
帖子
10066
48
 楼主| 发表于 2018-6-26 17:48:04 | 只看该作者
本帖最后由 89444640 于 2018-6-26 17:58 编辑
灯笼菜刀王 发表于 2018-6-26 17:32
给你个数字大写插件, 可以把0-99999的数字转化为大写格式,  使用方法, 数字(n)   n填要转化的数 ...



这个感觉是外国人做的
拾零…………
贰拾叁什么的到是没问题

优化一下文字显示看看

截个传说中的 五十零 留念XD

点评

今天停电了半天..现在才能上..  发表于 2018-6-27 17:27
长知识了,还真不知道,只知道三菱重工……因为当年手塚老大的动画 森林大帝后面有个广告就是三菱的,所以特意查了一下。  发表于 2018-6-26 18:11
五十铃是二战时期IJN的 长良型轻型巡洋舰, 擅长对空和反潜  发表于 2018-6-26 18:03
要大写就大写到底了, 要换的话, 自己把 那些汉字替换成对应的字就可以了  发表于 2018-6-26 17:57
估计是,我再复制看看  发表于 2018-6-26 17:57
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36382
在线时间
10788 小时
注册时间
2009-3-15
帖子
4813
49
发表于 2018-6-26 19:32:02 | 只看该作者
晚上了..说好的和大神的亲密交流呢..
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-14 14:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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