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

Project1

 找回密码
 注册会员
搜索
查看: 3381|回复: 6

[已经过期] 如何实现,在Scene_MenuBase脚本中打开一张图片。

[复制链接]

Lv1.梦旅人

梦石
0
星屑
109
在线时间
410 小时
注册时间
2020-1-11
帖子
253
发表于 2020-11-8 09:18:02 | 显示全部楼层 |阅读模式

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

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

x
想在菜单场景的指令栏的背景,用一张图片取代(盖住)原来的背景皮肤windowskin。

虽然用事件能够实现。但还是想在用脚本来实现。请各位高人指点一二。

Lv3.寻梦者

梦石
0
星屑
2323
在线时间
274 小时
注册时间
2017-7-25
帖子
163
发表于 2020-11-8 10:46:36 | 显示全部楼层
在Scene_MenuBase找到
  1.   #--------------------------------------------------------------------------
  2.   # ● 生成背景         
  3.   #--------------------------------------------------------------------------

  4.   def create_background
  5.     @background_sprite = Sprite.new
  6.     @background_sprite.bitmap = SceneManager.background_bitmap
  7.    
  8.     @background_sprite.color.set(16, 16, 16, 128)
  9.   end
  10.   
  11.   #--------------------------------------------------------------------------
  12.   # ● 释放背景
  13.   #--------------------------------------------------------------------------
  14.   def dispose_background
  15.     @background_sprite.dispose
  16.   end
复制代码


把这段改成
  1. #--------------------------------------------------------------------------
  2.   # ● 生成背景         #可见地图的菜单背景 包括生成和释放两部分
  3.   #                       #可以插到物品技能等别的菜单内并切换图片
  4.   #--------------------------------------------------------------------------
  5.   def create_background
  6.     @background_sprite = Sprite.new
  7.     @background_sprite.bitmap = SceneManager.background_bitmap
  8.     @menuback_sprite2 = Sprite.new
  9.     @menuback_sprite2.bitmap = Cache.title1("图片文件名")
  10. # 背景图片保存位置为Graphics\Titles1 里
  11.   end
  12.   #--------------------------------------------------------------------------
  13.   # ● 释放背景
  14.   #--------------------------------------------------------------------------
  15.   def dispose_background
  16.     @background_sprite.dispose
  17.     @menuback_sprite2.dispose
  18.   end
复制代码
回复 支持 1 反对 0

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
24057
在线时间
4983 小时
注册时间
2016-3-8
帖子
1613
发表于 2020-11-8 10:53:11 | 显示全部楼层
本帖最后由 alexncf125 于 2020-11-8 18:37 编辑

你们(2L是不是只看了标题, 没看内容?)是怎样研究出:
对菜单场景的指令栏的背景进行修改, 是要改Scene_MenuBase??

明明是改Window_MenuCommand才对

  1. class Window_MenuCommand < Window_Command
  2.   alias window_menucommand_initialize initialize
  3.   def initialize
  4.     window_menucommand_initialize
  5.     self.windowskin = nil
  6.     draw_background
  7.   end
  8.   def draw_background
  9.     bitmap = Cache.picture("图片文件名")
  10.     contents.blt(0, 0, bitmap, bitmap.rect, 200)
  11.     bitmap.dispose
  12.   end
  13. end
复制代码


图片放在Graphics\Pictures目录
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
109
在线时间
410 小时
注册时间
2020-1-11
帖子
253
 楼主| 发表于 2020-11-8 12:09:15 | 显示全部楼层

经过实践,的确是可以实现贴出图片的功能,真是获益非浅,谢谢。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
109
在线时间
410 小时
注册时间
2020-1-11
帖子
253
 楼主| 发表于 2020-11-8 12:22:01 | 显示全部楼层
alexncf125 发表于 2020-11-8 10:53
你們(2L是不是只看了标题, 没看內容?)是怎样研究出:
对菜单场景的指令栏的背景进行修改, 是要改Scene_Menu ...

经过实践的测试 。确实可以绘制出windowskin. 但是用图片位图取代了原来的系统windowskin之后。光标和绘制的指令文字不见了。可能调下z轴的高度就能解决………。

疑??z轴!窗口内部好像没办法调z轴的高度,
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
24057
在线时间
4983 小时
注册时间
2016-3-8
帖子
1613
发表于 2020-11-8 12:57:51 | 显示全部楼层
本帖最后由 alexncf125 于 2020-11-8 13:24 编辑
alianlord 发表于 2020-11-8 12:22
经过实践的测试 。确实可以绘制出windowskin. 但是用图片位图取代了原来的系统windowskin之后。光标和绘 ...


因为我用了自己的工程测试, 所以没有你说的问题~
新建的工程的确会出现你所说的问题~
那么...換成这样子:
  1. class Window_MenuCommand < Window_Command
  2.   alias window_menucommand_initialize initialize
  3.   def initialize
  4.     window_menucommand_initialize
  5.     create_back_bitmap
  6.     create_back_sprite
  7.   end
  8.   #------------------------------------------------- -------------------------
  9.   # ● 释放
  10.   #------------------------------------------------- -------------------------
  11.   def dispose
  12.     super
  13.     dispose_back_bitmap
  14.     dispose_back_sprite
  15.   end
  16.   #------------------------------------------------- -------------------------
  17.   # ● 生成背景位图
  18.   #------------------------------------------------- -------------------------
  19.   def create_back_bitmap
  20.     bitmap = Cache.picture("图片文件名")
  21.     @back_bitmap = Bitmap.new(width, height)
  22.     @back_bitmap.blt(0, 0, bitmap, bitmap.rect)
  23.     bitmap.dispose
  24.   end
  25.   #------------------------------------------------- -------------------------
  26.   # ● 生成背景精灵
  27.   #------------------------------------------------- -------------------------
  28.   def create_back_sprite
  29.     @back_sprite = Sprite.new
  30.     @back_sprite.bitmap = @back_bitmap
  31.     @back_sprite.y = y
  32.     @back_sprite.z = z - 1
  33.   end
  34.   #------------------------------------------------- -------------------------
  35.   # ● 释放背景位图
  36.   #------------------------------------------------- -------------------------
  37.   def dispose_back_bitmap
  38.     @back_bitmap.dispose
  39.   end
  40.   #------------------------------------------------- -------------------------
  41.   # ● 释放背景精灵
  42.   #------------------------------------------------- -------------------------
  43.   def dispose_back_sprite
  44.     @back_sprite.dispose
  45.   end
  46. end
复制代码
以上脚本的大部分代码均是截取自Window_Message
感觉那段用得上就截了那段, 也不知对不对~~
回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
109
在线时间
410 小时
注册时间
2020-1-11
帖子
253
 楼主| 发表于 2020-11-8 13:25:59 | 显示全部楼层
我会再多测试各种可能性 ,谢谢热心的alexncf125
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-3-29 15:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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