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

Project1

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

[已经解决] 在菜单中贴多个图片的方法?

[复制链接]

Lv4.逐梦者

梦石
11
星屑
1225
在线时间
223 小时
注册时间
2015-8-5
帖子
25
跳转到指定楼层
1
发表于 2018-8-8 20:11:19 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
50星屑
我之前使用这个脚本实现了图上的界面效果,虽然很好使用,但因为游戏内需要大量的变量图片,所以想问有没有可能使这个脚本改成多个变量操控多个图片的效果?类似于其中一个变量作为背景图,其中一个变量改变代表血量的心,其中一个变量改变人物立绘的模样?

RUBY 代码复制
  1. #==============================================================================
  2. # 本脚本来自[url]www.66rpg.com[/url],转载、使用请保留此信息
  3. #==============================================================================
  4.  
  5. #==============================================================================
  6. # ** 菜单中显示图片
  7. #==============================================================================
  8. module MoShowPicOnMenu
  9.   Var = 1
  10.   # 变量ID 当变量值为-1时不显示图片 否则显示List[变量值]号图片
  11.   List = [
  12.     # ["图片名", X坐标, Y坐标, 不透明度(可选)],
  13.     ["Leaves",  0, 0], #0
  14.   ]
  15.   # 图片列表 图片应该放在Graphics/Picture下
  16.   # 序号从0开始 注意 游戏一开始的时候变量均为0
  17.   List.each{|d| d[3] ||= 255} # 不要动
  18. end
  19. #==============================================================================
  20. # ** Scene_Menu
  21. #==============================================================================
  22. class Scene_Menu
  23.   #--------------------------------------------------------------------------
  24.   # * Start Processing
  25.   #--------------------------------------------------------------------------
  26.   alias :mo_show_pic_on_menu_start :start
  27.   def start
  28.     mo_show_pic_on_menu_start
  29.     mo_show_pic_on_menu_draw_picture
  30.   end
  31.   #--------------------------------------------------------------------------
  32.   # * Create Picture On Menu
  33.   #--------------------------------------------------------------------------
  34.   def mo_show_pic_on_menu_draw_picture
  35.     return if (index = $game_variables[MoShowPicOnMenu::Var]) == -1
  36.     @mo_show_pic_on_menu_pic = Sprite.new.tap{|s|
  37.       pic, x, y, opa = MoShowPicOnMenu::List[index]
  38.       s.bitmap = Cache.picture pic
  39.       s.x, s.y, s.opacity = x, y, opa
  40.     }
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   # * Termination Processing
  44.   #--------------------------------------------------------------------------
  45.   alias :mo_show_pic_on_menu_terminate :terminate
  46.   def terminate
  47.     mo_show_pic_on_menu_terminate
  48.     if @mo_show_pic_on_menu_pic
  49.       @mo_show_pic_on_menu_pic.bitmap.dispose
  50.       @mo_show_pic_on_menu_pic.dispose
  51.     end
  52.   end
  53. end

最佳答案

查看完整内容

随便照着乱糊了一个,用法和之前一样,参考脚本开头写的格式继续写就可以了。 #============================================================================== # 本脚本来自rpg.blue,转载、使用请保留此信息 #============================================================================== module Fux2 MenuPicInfo = Struct.new(:fn,:x,:y,:opacity) PicList = {} # 格式 MenuPicInfo.new("图片名",x,y,o ...

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42355
在线时间
7599 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

来自 2楼
发表于 2018-8-8 20:11:20 | 只看该作者
随便照着乱糊了一个,用法和之前一样,参考脚本开头写的格式继续写就可以了。


RUBY 代码复制
  1. #==============================================================================
  2. # 本脚本来自rpg.blue,转载、使用请保留此信息
  3. #==============================================================================
  4.  
  5. module Fux2
  6.  
  7.   MenuPicInfo = Struct.new(:fn,:x,:y,:opacity)
  8.  
  9.   PicList = {}
  10.   # 格式 MenuPicInfo.new("图片名",x,y,opa),坐标和透明度可选
  11.   # 坐标不填默认0,不透明度不填默认255
  12.   PicList[1] = [
  13.     MenuPicInfo.new("变量1为0时文件名",100,100),
  14.     MenuPicInfo.new("变量1为1时文件名",300,100)
  15.   ]
  16.  
  17.   PicList[2] = [
  18.     MenuPicInfo.new("变量2为0时文件名",100,300),
  19.     MenuPicInfo.new("变量2为1时文件名",300,300,180),
  20.     MenuPicInfo.new("变量2为2时文件名",300,300)
  21.   ]
  22.  
  23. end
  24.  
  25. class Scene_Menu
  26.  
  27.   alias _fux_start start
  28.   def start
  29.     _fux_start
  30.     create_menu_picture
  31.   end
  32.  
  33.   def create_menu_picture
  34.     @backSprites = []
  35.     Fux2::PicList.keys.sort.each do |key|
  36.       value = $game_variables[key]
  37.       next if value<0
  38.       info = Fux2::PicList[key][value]
  39.       spr = Sprite.new
  40.       spr.bitmap = Cache.picture(info.fn)
  41.       spr.x,spr.y = info.x || 0,info.y || 0
  42.       spr.opacity = info.opacity || 255
  43.       @backSprites << spr
  44.     end
  45.   end
  46.  
  47.   alias _fux_terminate terminate
  48.   def terminate
  49.     _fux_terminate
  50.     @backSprites && @backSprites.each{|spr| spr.dispose}
  51.   end
  52. end
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

Lv4.逐梦者 (超级版主)

梦石
11
星屑
8664
在线时间
897 小时
注册时间
2017-9-28
帖子
399
3
发表于 2018-8-9 08:28:48 | 只看该作者
这个立绘!!难道是微博上F开头的那位太太吗!
只能画出残疾人的垃圾透明画手...工作繁忙不接单~
长篇日式角色扮演游戏molordia缓慢填坑中...某炼金术士的调查报告
短篇多为R剧坑填不填随缘...深夜剧场游戏发布地址戳这里
目前作品:瓶中精灵已在steam上架
回复

使用道具 举报

Lv4.逐梦者

梦石
11
星屑
1225
在线时间
223 小时
注册时间
2015-8-5
帖子
25
4
 楼主| 发表于 2018-8-9 12:53:57 | 只看该作者
fux2 发表于 2018-8-9 10:20
随便照着乱糊了一个,用法和之前一样,参考脚本开头写的格式继续写就可以了。

非常感谢!!!!【土下跪】
回复

使用道具 举报

Lv4.逐梦者

梦石
11
星屑
1225
在线时间
223 小时
注册时间
2015-8-5
帖子
25
5
 楼主| 发表于 2018-8-9 12:54:34 | 只看该作者
岸边鸬鹚 发表于 2018-8-9 08:28
这个立绘!!难道是微博上F开头的那位太太吗!

是,是的^q^【】
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 02:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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