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

Project1

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

[已经解决] 游戏中画面右上角显示一个logo,不用地图事件,用脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
59 小时
注册时间
2013-11-27
帖子
54
跳转到指定楼层
1
发表于 2013-12-4 15:43:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
游戏进行中的任何时候都显示这个logo,就占屏幕右上角这么一块地方,淡入淡出,黑入黑出,也要有那个logo,使用地图事件可以实现,不过太麻烦了,能不能一次性用脚本解决这个问题?

点评

看脚本第21行  发表于 2013-12-12 21:36

Lv2.观梦者 (暗夜天使)

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
帖子
2309

贵宾

2
发表于 2013-12-4 18:57:09 | 只看该作者
可以在 SceneManager 的 run 方法里创建精灵显示 logo。

点评

Scene_Base里面那个dispose_all_windows不是就可以释放掉所有的Window了吗?  发表于 2013-12-6 23:16
琢磨了半天不会……  发表于 2013-12-4 21:22
大神能详细一点嘛?  发表于 2013-12-4 21:22
回复 支持 反对

使用道具 举报

Lv2.观梦者

故九江太守

梦石
0
星屑
628
在线时间
2166 小时
注册时间
2012-12-5
帖子
4464
3
发表于 2013-12-5 13:56:52 | 只看该作者
游戏开场商标Logo(两张.通用)
http://rpg.blue/thread-339160-1-1.html
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
59 小时
注册时间
2013-11-27
帖子
54
4
 楼主| 发表于 2013-12-5 14:52:37 | 只看该作者
本帖最后由 本圈圈本 于 2013-12-5 14:55 编辑

看来是我没表达清楚,假设rmva的程序icon就是我要的logo


从开始的标题画面右上角就有个logo


游戏中也是,右上角有个图片,总之,整个游戏不论地图还是战斗还是标题,右上角都有这么一张图片
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
59 小时
注册时间
2013-11-27
帖子
54
5
 楼主| 发表于 2013-12-5 14:56:20 | 只看该作者
你最珍贵 发表于 2013-12-5 13:56
游戏开场商标Logo(两张.通用)
http://rpg.blue/thread-339160-1-1.html

我不是这个意思,我好像没有表达清楚
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
381 小时
注册时间
2012-8-13
帖子
113
6
发表于 2013-12-5 15:32:46 | 只看该作者
米酒獭酱移植的地图显示血条魔条脚本基础上稍加修改即可:
http://rpg.blue/forum.php?mod=vi ... D368%26typeid%3D368

点评

感谢~有用~  发表于 2013-12-6 11:50
在窗体内把不要的内容(比如血条魔条头像什么的)去掉然后加上自己要的那个logo就可以了,稍微懂一点脚本的都可以轻松修改出来  发表于 2013-12-5 15:34
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

7
发表于 2013-12-5 18:38:23 | 只看该作者
本帖最后由 喵呜喵5 于 2013-12-7 13:51 编辑

RUBY 代码复制
  1. =begin
  2. ===============================================================================
  3.   边框 By喵呜喵5
  4. ===============================================================================
  5.  
  6.   【说明】
  7.  
  8.   在游戏画面中显示一个平时不会被消除的边框
  9.   边框文件放在“Graphics/system/”文件夹下,命名为Frame
  10.  
  11.   如果只是需要在地图画面上显示边框的话……请删掉这个脚本,直接用显示图片指令
  12.  
  13. =end
  14. $m5script = {} if $m5script.nil?
  15. $m5script["M5Frame"] = true
  16. module M5Frame
  17. #==============================================================================
  18. #  设定部分
  19. #==============================================================================
  20.  
  21.   SCENE = [Scene_Battle,Scene_Debug]
  22.  
  23.   #在上面设置不需要显示边框的场景
  24.   #默认的设置是战斗画面以及调试窗口不会显示边框
  25.  
  26.   SWI = 1
  27.  
  28.   #当这个开关打开的时候,不显示边框
  29.  
  30.   Z = 500
  31.  
  32.   #修改这个数值调整边框的高度,数值越大边框能遮住的东西越多
  33.  
  34. #==============================================================================
  35. #  设定结束
  36. #==============================================================================
  37. end
  38. class Scene_Base
  39.   alias m5_20131205_start start
  40.   def start
  41.     m5_20131205_start
  42.     @frame = M5SimpleWindow.new
  43.   end
  44. end
  45. class M5SimpleWindow < Window_Base
  46.   def initialize
  47.     super(0,0,Graphics.width*2,Graphics.height*2)
  48.     self.opacity = 0   
  49.     self.padding = 0
  50.     self.arrows_visible = false
  51.     self.z = M5Frame::Z
  52.     refresh
  53.     @switch = $game_switches[M5Frame::SWI]
  54.     self.visible = !@switch
  55.     update_visible if self.visible
  56.   end
  57.   def refresh
  58.     self.contents.clear
  59.     bitmap = Cache.system("Frame")
  60.     rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  61.     contents.blt(0, 0, bitmap, rect, 255)
  62.     bitmap.dispose
  63.   end
  64.   def update
  65.     if @switch != $game_switches[M5Frame::SWI]
  66.       if self.visible
  67.         if $game_switches[M5Frame::SWI]
  68.           self.visible = false
  69.         end
  70.       else
  71.         if !$game_switches[M5Frame::SWI]
  72.           self.visible = true
  73.         end        
  74.       end
  75.       @switch = $game_switches[M5Frame::SWI]
  76.     end
  77.   end
  78.   def update_visible
  79.     if scene_include?
  80.       self.visible = false
  81.     else
  82.       self.visible = true
  83.     end
  84.   end  
  85.   def scene_include?
  86.     list = M5Frame::SCENE
  87.     return false if !list
  88.     list.include?(SceneManager.scene.class)
  89.   end
  90. end



↑搭配包含立绘的美化型菜单(http://rpg.blue/home.php?mod=spa ... o=blog&id=12232)的使用效果

目前有个问题,在事件页中的淡入、淡出画面LOGO会保留,切换场景时(场所移动、标题画面进入游戏etc...)的淡入淡出LOGO会跟着一起淡出,目前暂时不知道怎么让两种淡入淡出都能保留LOGO……(这两种淡入淡出的机理不同,一个是修改$game_screen.brightness 一个是修改 Graphics.brightness……)

点评

大大,你现在修改过的这个脚本进入战斗时logo就不显示了,但是原来的那个脚本就不会有这问题  发表于 2013-12-12 21:23
忘了  发表于 2013-12-7 11:03
感谢~就是这个~目前淡入淡出问题解决中……  发表于 2013-12-6 11:50
对了 Window, Bitmap, Viewport 等等这种跟 Graphics 挂钩的 RGSS 内建类用完都要手动释放掉,否则可能会导致游戏崩溃。这里可以在 terminate 方法里添加释放。  发表于 2013-12-5 23:14
Graphics 里不会改 - -b 要弄就重写淡入淡出,改成和事件的一样吧。  发表于 2013-12-5 20:30

评分

参与人数 1梦石 +1 收起 理由
Sion + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
59 小时
注册时间
2013-11-27
帖子
54
8
 楼主| 发表于 2013-12-14 23:05:59 | 只看该作者
不行了,琢磨了很久都搞不定…… 没法在淡入淡出的时候保留logo……

点评

重写场景切换时的淡入淡出为$game_screen.brightness,不过这样做以后脚本的兼容性以及之后可能出现的BUG…………呵呵  发表于 2013-12-14 23:10
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
103 小时
注册时间
2013-12-12
帖子
200
9
发表于 2013-12-18 10:36:02 | 只看该作者
本帖最后由 rmav 于 2013-12-18 12:05 编辑

把以下代码作为一个插件就行。
淡入淡出时也有,战斗时也有。

RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. #   在游戏窗口上显示logo
  4. #------------------------------------------------------------------------------
  5. #  by rmav ()
  6. #==============================================================================
  7.  
  8.  
  9. $bitmap_logo = Cache.face("logo")      #logo.png放在Faces目录下
  10. $viewport_logo ||= Viewport.new($bitmap_logo.rect)
  11. $viewport_logo.z = 900
  12. $viewport_logo.visible = false
  13. $logo = Sprite.new($viewport_logo)
  14. $logo.bitmap = $bitmap_logo            #logo一般不会变的吧,若要变记得dispose
  15. $logo.visible = true
  16. class Scene_Base
  17.   attr_accessor :display_logo          #可随时控制是否显示logo
  18.   def initialize
  19.     @display_logo = true               #默认显示
  20.     $viewport_logo.rect.x=Graphics.width-$viewport_logo.rect.width #在右边显示
  21.   end
  22.  
  23.   alias before_logo_update update
  24.   def update
  25.     before_logo_update
  26.     $viewport_logo.visible = @display_logo
  27.   end
  28.  
  29. end


刚接触这东西,大家看看这样做会有什么问题?
-----------
顺便问下,viewport有什么用?上面的代码不用viewport直接用sprite试了2下也没什么问题。
----------
呃,想到一点,当有几个精灵时,要重新移个位置,不必一个个去校正位置。若只有一个精灵就无所谓了。

点评

是的,这个logo全程都在那里不受干预,看我表达能力不行,我要的就是这样的效果,而且这点是必须的  发表于 2013-12-20 11:47
你是想在执行淡入淡出的时候,logo不动,不参与淡入淡出? 这需求有点奇葩,还没看到有哪个游戏有这种行为  发表于 2013-12-19 19:14
你的这个脚本在淡入淡出的时候还是没法保留logo啊,比如进门出门的时候,我建了新的工程试过了  发表于 2013-12-19 19:13
等等,突然发现我好像有什么搞错了  发表于 2013-12-19 19:02
小哥你这个脚本虽然成功了但是没有解决我的问题,见8L……QAQ  发表于 2013-12-19 13:47
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
59 小时
注册时间
2013-11-27
帖子
54
10
 楼主| 发表于 2013-12-19 21:50:13 | 只看该作者
本帖最后由 本圈圈本 于 2013-12-20 11:46 编辑

淡入淡出问题已解决
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 04:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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