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

Project1

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

請問如何以腳本,使圖片灰階化顯示?

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2005-11-21
帖子
96
跳转到指定楼层
1
发表于 2007-6-17 13:54:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2005-11-21
帖子
96
2
 楼主| 发表于 2007-6-17 13:54:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

3
发表于 2007-6-17 21:28:01 | 只看该作者
bitmap对象没有直接的灰度属性,实现起来比较消耗资源。

不清楚LZ想要灰化什么图片,若是战斗者图片的话,

则在Spriteset_Battle类的
    # 生成天候
    @weather = RPG::Weather.new(@viewport1)

前面加上,
    @actor_sprites.each{|i| i.tone.gray = 255 }   
则战斗者图片就被灰化了。
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2005-11-21
帖子
96
4
 楼主| 发表于 2007-6-17 21:42:15 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

5
发表于 2007-6-17 21:53:02 | 只看该作者
以下引用a747266于2007-6-17 13:42:15的发言:

感謝你的解答

比較耗資源就沒辦法了...
本來是想在選單中,在選擇角色時,
該角色的戰鬥圖會明亮化,而其他角色灰化
類似A-story那樣
但是遊戲中會加入的角色蠻多的,所以不能用同一種方法


可以啊,
把角色图像描绘在新建的sprite上,
脱离原来的Window的contents,
如此就不存在资源浪费之忧。
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2005-11-21
帖子
96
6
 楼主| 发表于 2007-6-17 22:06:01 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2005-11-21
帖子
96
7
 楼主| 发表于 2007-6-18 08:20:42 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

8
发表于 2007-6-19 01:56:16 | 只看该作者
覆盖Window_MenuStatus类,仅是范例。

  1. #==============================================================================
  2. # ■ Window_MenuStatus
  3. #------------------------------------------------------------------------------
  4. #  显示菜单画面和同伴状态的窗口。
  5. #==============================================================================

  6. class Window_MenuStatus < Window_Selectable
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化目标
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(0, 0, 480, 480)
  12.     self.contents = Bitmap.new(width - 32, height - 32)
  13.     @actor_img = Array.new   
  14.     for i in 0...$game_party.actors.size
  15.         actor = $game_party.actors[i]
  16.         @actor_img.push Sprite.new
  17.         bit = RPG::Cache.character(actor.character_name, actor.character_hue)
  18.         cw = bit.width / 4
  19.         ch = bit.height / 4
  20.         src_rect = Rect.new(0, 0, cw, ch)
  21.         @actor_img[i].bitmap = Bitmap.new(cw,ch)
  22.         @actor_img[i].bitmap.blt(0, 0, bit, Rect.new(0,0,cw,ch))        
  23.         @actor_img[i].x = 122 + 64      
  24.         @actor_img[i].y = 48 + i * 116      
  25.         @actor_img[i].z = self.z + 1  
  26.     end  
  27.     refresh
  28.     self.active = false
  29.     self.index = -1
  30.   end
  31.   #--------------------------------------------------------------------------
  32.   # ● 刷新
  33.   #--------------------------------------------------------------------------
  34.   def refresh
  35.     self.contents.clear
  36.     img_update   
  37.     @item_max = $game_party.actors.size
  38.     for i in 0...$game_party.actors.size
  39.       x = 64
  40.       y = i * 116
  41.       actor = $game_party.actors[i]
  42.       #draw_actor_graphic(actor, x - 40, y + 80)
  43.       draw_actor_name(actor, x, y)
  44.       draw_actor_class(actor, x + 144, y)
  45.       draw_actor_level(actor, x, y + 32)
  46.       draw_actor_state(actor, x + 90, y + 32)
  47.       draw_actor_exp(actor, x, y + 64)
  48.       draw_actor_hp(actor, x + 236, y + 32)
  49.       draw_actor_sp(actor, x + 236, y + 64)
  50.     end
  51.   end
  52.   #--------------------------------------------------------------------------
  53.   # ● 刷新光标矩形
  54.   #--------------------------------------------------------------------------
  55.   def update_cursor_rect
  56.     img_update
  57.     if @index < 0
  58.       self.cursor_rect.empty
  59.     else
  60.       self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
  61.     end
  62.   end
  63.   
  64.   def img_update
  65.       for i in 0...$game_party.actors.size
  66.           if i == @index
  67.              @actor_img[i].tone.gray = 0
  68.           else   
  69.              @actor_img[i].tone.gray = 255            
  70.           end
  71.       end   
  72.   end

  73.   def dispose
  74.      super
  75.      @actor_img.each{|i| i.dispose}
  76.   end
  77.   
  78. end
复制代码
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2005-11-21
帖子
96
9
 楼主| 发表于 2007-6-19 05:28:02 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-9-21 02:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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