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

Project1

 找回密码
 注册会员
搜索
查看: 2531|回复: 2

[RMVX发布] 【翻译】改变行走图色调

[复制链接]

Lv4.逐梦者

醉啸 长风万里

梦石
0
星屑
6157
在线时间
6592 小时
注册时间
2007-12-16
帖子
4501

贵宾

发表于 2010-12-5 13:47:51 | 显示全部楼层 |阅读模式

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

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

x
不多说了,上图
2010-12-05_134444.png
BUG:每次修改完后一定要改回来否则会一直这样
  1. #========================================
  2. # 改变行走图色调
  3. # 原作BY: Nechigawara Sanzenin
  4. # 提供BY:企鹅达达
  5. # 翻译BY:仲秋启明
  6. #========================================
  7. #使用方法:
  8. #事件注释中输入:[rX][gX][bX][alX][hueX]
  9. #[rX] 红 ( -255 to 255 )
  10. #[gX] 绿 ( -255 to 255 )
  11. #[bX] 蓝 ( -255 to 255 )
  12. #[alX] Alpha通道 ( 0 to 255 )
  13. #[hueX] 色调 ( 0 to 360 )
  14. #配合RGB颜色设置
  15. #BUG:每次修改完后一定要改回来否则会一直这样
  16. #========================================
  17. module Cache
  18. def self.character(filename , hue=0)
  19.     load_bitmap("Graphics/Characters/", filename , hue)
  20.   end
  21. end
  22. class Game_Character
  23.   attr_accessor :tone
  24.   attr_accessor :hue
  25.   #--------------------------------------------------------------------------
  26.   # - 读取
  27.   #--------------------------------------------------------------------------
  28.   alias inc_initialize initialize
  29.   def initialize
  30.     inc_initialize
  31.     @tone = [0,0,0,0]
  32.     @hue = 0
  33.   end
  34. end
  35. class Game_Event < Game_Character
  36.   alias inc_update update
  37.   def update
  38.     for i in [email protected]
  39.       next if @list[i].code != 108
  40.       # 红
  41.       if @list[i].parameters[0].include?("[r")
  42.         text = @list[i].parameters[0].scan(/\[r([-,0-9]+)\]/)
  43.         red = $1.to_i
  44.         if red > 255
  45.           red = 255
  46.         elsif red < -255
  47.           red = -255
  48.         end
  49.         @tone[0] = red
  50.       end
  51.       # 绿
  52.       if @list[i].parameters[0].include?("[g")
  53.         text = @list[i].parameters[0].scan(/\[g([-,0-9]+)\]/)
  54.         green = $1.to_i
  55.         if green > 255
  56.           green = 255
  57.         elsif green < -255
  58.           green = -255
  59.         end
  60.         @tone[1] = green
  61.       end
  62.       # 蓝
  63.       if @list[i].parameters[0].include?("[b")
  64.         text = @list[i].parameters[0].scan(/\[b([-,0-9]+)\]/)
  65.         blue = $1.to_i
  66.         if blue > 255
  67.           blue = 255
  68.         elsif blue < -255
  69.           blue = -255
  70.         end
  71.         @tone[2] = blue
  72.       end
  73.       # Alpha
  74.       if @list[i].parameters[0].include?("[al")
  75.         text = @list[i].parameters[0].scan(/\[al([0-9]+)\]/)
  76.         alpha = $1.to_i
  77.         if alpha > 255
  78.           alpha = 255
  79.         elsif alpha < 0
  80.           alpha = 0
  81.         end
  82.         @tone[3] = alpha
  83.       end
  84.       # 色调
  85.       if @list[i].parameters[0].include?("[hue")
  86.         text = @list[i].parameters[0].scan(/\[hue([0-9]+)\]/)
  87.         hue = $1.to_i
  88.         if hue > 360
  89.           hue = 360
  90.         elsif hue < 0
  91.           hue = 0
  92.         end
  93.         @hue = hue
  94.       end
  95.     end
  96.     inc_update
  97.   end
  98. end
  99. class Sprite_Character < Sprite_Base
  100.   #--------------------------------------------------------------------------
  101.   # - 刷新
  102.   #--------------------------------------------------------------------------
  103.   def update_bitmap
  104.     @character.update
  105.     self.tone.set(@character.tone[0],@character.tone[1],@character.tone[2],@character.tone[3])
  106.     if @tile_id != @character.tile_id or
  107.        @character_name != @character.character_name or
  108.        @character_index != @character.character_index or
  109.        @hue != @character.hue
  110.       @tile_id = @character.tile_id
  111.       @character_name = @character.character_name
  112.       @character_index = @character.character_index
  113.       @hue = @character.hue
  114.       if @tile_id > 0
  115.         sx = (@tile_id / 128 % 2 * 8 + @tile_id % 8) * 32;
  116.         sy = @tile_id % 256 / 8 % 16 * 32;
  117.         self.bitmap = tileset_bitmap(@tile_id)
  118.         self.src_rect.set(sx, sy, 32, 32)
  119.         self.ox = 16
  120.         self.oy = 32
  121.       else
  122.         self.bitmap = Cache.character(@character_name,@character.hue)
  123.         sign = @character_name[/^[\!\$]./]
  124.         if sign != nil and sign.include?('$')
  125.           @cw = bitmap.width / 3
  126.           @ch = bitmap.height / 4
  127.         else
  128.           @cw = bitmap.width / 12
  129.           @ch = bitmap.height / 8
  130.         end
  131.         self.ox = @cw / 2
  132.         self.oy = @ch
  133.       end
  134.     end
  135.   end
  136. end
复制代码

评分

参与人数 1星屑 +300 收起 理由
夕阳武士 + 300 鼓励翻译

查看全部评分


还在龟速填坑中

Lv1.梦旅人

PIG·KIN

梦石
0
星屑
45
在线时间
442 小时
注册时间
2009-1-26
帖子
3298

贵宾

发表于 2010-12-5 14:00:16 | 显示全部楼层
额,做中毒效果么

点评

比如说游戏里某人挂掉了,他的行走图变成了半透明或者变成了蓝色……这样就不用再再做一张行走图了  发表于 2010-12-5 19:13
我是一个风一般的————外卖佬。
回复 支持 反对

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
676
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

发表于 2010-12-5 14:09:35 | 显示全部楼层
应该不是吧,大概是自由运用的= =
中毒不会自动改变色调。。

点评

⊙_⊙超好用啊!  发表于 2013-9-5 04:01
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 00:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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