Project1

标题: 如何在游戏开始时显示黑幕和logo [打印本页]

作者: 倾灬城    时间: 2014-1-20 13:33
标题: 如何在游戏开始时显示黑幕和logo
本帖最后由 倾灬城 于 2014-2-8 16:15 编辑

唔记得以前有过这样的帖子而且不在少数但原谅我一生脚本废只能来求助了qwq
唔我用的是尽头君的黑色笔记本的工程 原地址在这→_→【http://rpg.blue/forum.php?mod=viewthread&tid=333057
我希望玩家在打开游戏时会先显示制作室的logo然后再进入标题界面
我的游戏开始时会有一段黑幕,我使用的是直接显示一张黑色图片的方法=-=……
但是尽管如此游戏一开始还是会先闪一下游戏界面然后才出现黑幕
这个该怎么解决跪求各位大神帮助OTZ……

======================================================
唔我是略违和的分割线
======================================================
唔看来是我没描述清楚?
大概是这个样子,使用了尽头大大的工程后,游戏窗口上始终都会有角色信息什么的的
我希望游戏一开始就出现黑幕,可是现在会有一些延迟才会显示那张黑色的图片,这时可以看到角色信息框什么的虽然没什么但略不爽啊
唔附上工程好了233:
文件夹工程     链接: http://pan.baidu.com/s/1hqzFQXA 密码: sp0v
压缩包工程     链接: http://pan.baidu.com/s/1zStn4 密码: hee5

前辈们求帮助qwq
@love896624434 @shabi  @rmav 已添加压缩包工程
作者: love896624434    时间: 2014-1-20 16:54
饿,不知道为什么这么久了没人回答。很简单,你新建一张地图,无任何地图元素的那种纯空白地图,将人物初始在这个地图。在”数据库-系统”里面,右上角有一个‘选项“,第二个是初始时玩家行走图透明。这样就好了,游戏开始就是全黑了。然后你在全黑状态下要做的做完了,就用事件第二页的场所移动把主角移动到正式地图的初始位置就可以了。
说个小技巧,把角色移动前,首先淡出画面,然后用事件第二页的更改人物透明状态,改成正常,然后再场所移动,接着淡入画面。这样有个淡出淡入的过程角色从透明到出现才有个过度,不然根据你角色更改正常和场所移动多个顺序,会出现全黑画面角色突然出现了然后画面转换或者画面转换了以后角色突然凭空出现,都不自然。
最后是关于如何显示图片,事件第二页直接就有显示图片,直接显示就可以了。
还有不懂得再问我吧,不过我一般不怎么上网,看到了会的话就回你哦。
作者: shabi    时间: 2014-1-20 18:39

作者: shabi    时间: 2014-1-20 18:40
把行走图设成空白,黑幕以后再还原,地图设成全黑。
作者: 倾灬城    时间: 2014-1-20 20:53
love896624434 发表于 2014-1-20 16:54
饿,不知道为什么这么久了没人回答。很简单,你新建一张地图,无任何地图元素的那种纯空白地图,将人物初始 ...

不不不我也是这么做的但是我用的工程会在显示图片之前显示自带的UI,地图和行走图怎么设置都是这样
作者: 倾灬城    时间: 2014-1-20 20:53
shabi 发表于 2014-1-20 18:40
把行走图设成空白,黑幕以后再还原,地图设成全黑。

不不不我也是这么做的但是我用的工程会在显示图片之前显示自带的UI,地图和行走图怎么设置都是这样
作者: shabi    时间: 2014-1-21 10:52
如果不想显示UI,用这个脚本吧,http://rpg.blue/thread-215630-1-1.html
图书馆里的跳过标题画面,然后把行走图设成空白,黑幕以后再还原,地图设成全黑。
作者: shabi    时间: 2014-1-21 10:52
接着显示图片,就是你的logo。
作者: shabi    时间: 2014-1-22 20:30
你是想用让这个角色信息在开始时不显示还是从不显示。
作者: shabi    时间: 2014-1-22 20:55
说实话黑色笔记本这些脚本比图书馆里的鼠标,免dll输入框都要好。真得感谢你,这种系统我还是第一次见到。
作者: 倾灬城    时间: 2014-1-23 22:14
shabi 发表于 2014-1-22 20:55
说实话黑色笔记本这些脚本比图书馆里的鼠标,免dll输入框都要好。真得感谢你,这种系统我还是第一次见到。 ...

那该怎么办呢qwwwwwq
作者: 倾灬城    时间: 2014-1-26 23:49
@shabi 大大求帮助qwwwwwq
作者: shabi    时间: 2014-1-27 10:42
额,我从来没被别人叫过大神,好不适应,教你一招,你看哪些脚本是对应哪些功能,看脚本注释就行了,如果加的脚本里没有在地图上显示状态栏的语句,你就把
windows-menustatus替换成默认的(新建一个工程,把这个脚本复制过来,删掉黑色笔记本里的),实在不行你再来问我。
作者: 倾灬城    时间: 2014-1-27 16:00
shabi 发表于 2014-1-27 10:42
额,我从来没被别人叫过大神,好不适应,教你一招,你看哪些脚本是对应哪些功能,看脚本注释就行了,如果加 ...

唔我希望是刚开始的时候先不要显示ui之后比如说我可以用一个开关或语句什么控制它显示出来
作者: shabi    时间: 2014-1-27 18:58
这个其实非常容易,他改了默认脚本,因为我发现插件脚本里没有显示UI的语句。你找到他显示UI的语句,然后用if判断开关true还是false,接着决定是否显示。
作者: 倾灬城    时间: 2014-1-27 19:50
shabi 发表于 2014-1-27 18:58
这个其实非常容易,他改了默认脚本,因为我发现插件脚本里没有显示UI的语句。你找到他显示UI的语句,然后用 ...

可是我不会脚本怎么办qwwwwwq能说具体点么
作者: shabi    时间: 2014-1-28 13:23
你可以在main那个函数的rgss run那一行后面加一个播放视频的函数,这样游戏一开始就可以播放视频(你的logo)了。
作者: shabi    时间: 2014-1-28 13:23
这应该是最简单的做法。
作者: 逆向刺杀者    时间: 2014-1-29 21:09
主角为空,MAP001涂黑,把主角放上去,事件,显示文章,场景迁移,完
作者: 倾灬城    时间: 2014-2-4 13:49
逆向刺杀者 发表于 2014-1-29 21:09
主角为空,MAP001涂黑,把主角放上去,事件,显示文章,场景迁移,完

可以看下主楼的详细描述吗谢谢?
作者: shabi    时间: 2014-2-4 15:48
额,最近几天没上线你的坑爹问题还没解决啊。
作者: rmav    时间: 2014-2-4 16:32
居然在这看到这个提问,我刚刚也遇到了这个问题,用一个超简单的方法解决了。
把你的黑色背景,设成Color.new(0,0,1)就行了。对人的眼睛来说和纯黑没啥区别吧。
之所以纯黑有问题,是因为渐变时,它会判断纯黑。能不改默认代码就不去改了

作者: 倾灬城    时间: 2014-2-6 14:11
shabi 发表于 2014-2-4 15:48
额,最近几天没上线你的坑爹问题还没解决啊。

是啊求帮助qwwwwwq尽头君一直不在线所以问不到原作者
作者: 倾灬城    时间: 2014-2-6 14:11
rmav 发表于 2014-2-4 16:32
居然在这看到这个提问,我刚刚也遇到了这个问题,用一个超简单的方法解决了。
把你的黑色背景,设成Color.n ...

唔不是这样的因为游戏工程自带了ui显示图片时会有几帧的延迟这时可以看到UI然后才会变成黑色主楼有讲过的→_→
作者: rmav    时间: 2014-2-8 20:37
改法有几种。
下面给出一种改法:
你看看
RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Sprite_Character
  4. #------------------------------------------------------------------------------
  5. #  地图人物的精灵。根据 Game_Character 类的实例自动变化。
  6. #==============================================================================
  7.  
  8. class Sprite_Character < Sprite_Base
  9.   #--------------------------------------------------------------------------
  10.   # ● 释放
  11.   #--------------------------------------------------------------------------
  12.   def dispose
  13.     end_animation
  14.     end_balloon
  15.     super
  16.     @sprite_name.dispose if @sprite_name
  17.     @window_talking.dispose if @window_talking
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 更新位置
  21.   #--------------------------------------------------------------------------
  22.   def update_position
  23.     self.x = @character.screen_x
  24.     self.y = @character.screen_y
  25.     self.z = @character.screen_z
  26.  
  27.     unless @sprite_name || @character.name[/EV/] || @character.name.size == 0
  28.       bitmap = Bitmap.new(1, 1)
  29.       width = bitmap.text_size(@character.name).width + 6
  30.       bitmap.dispose
  31.       if !$show_off
  32.       @sprite_name = Sprite.new(self.viewport)
  33.       @sprite_name.bitmap = Bitmap.new([width, 1].max, 12)
  34.       @sprite_name.bitmap.font.shadow = true
  35.       @sprite_name.bitmap.fill_rect(0, 0, width, 12, Color.new(0, 0, 0, 120))
  36.       @sprite_name.bitmap.draw_text(0, 0, width, 12, @character.name, 1)
  37.       @sprite_name.ox = width / 2
  38.       @sprite_name.oy = 0
  39.       end
  40.     end
  41.     if @sprite_name
  42.       @sprite_name.x = self.x
  43.       @sprite_name.y = self.y
  44.       @sprite_name.z = self.z
  45.     end
  46.   end
  47.   #--------------------------------------------------------------------------
  48.   # ● 更新其他
  49.   #--------------------------------------------------------------------------
  50.   def update_other
  51.     self.opacity = @character.opacity
  52.     self.blend_type = @character.blend_type
  53.     self.bush_depth = @character.bush_depth
  54.     self.visible = !@character.transparent
  55.  
  56.     if @character.talking.size > 0
  57.       bitmap = Bitmap.new(1, 1)
  58.       datas = []
  59.       x = 0
  60.       y = 0
  61.       while char = @character.talking.slice!(/./m)
  62.         if x >= 144
  63.           x = 0
  64.           y += 1
  65.         end
  66.         case char
  67.         when "\n"
  68.           x = 0
  69.           y += 1
  70.           next
  71.         end
  72.         x += bitmap.text_size(char).width
  73.         datas[y] ||= ""
  74.         datas[y] += char
  75.       end
  76.       bitmap.dispose
  77.       @window_talking.dispose if @window_talking
  78.       @window_talking = Window_Base.new(0, 0, (y > 0 ? 144 : x) + 32, y * 16 + 42)
  79.       @window_talking.openness = 0
  80.       @window_talking.open
  81.       for i in 0...datas.size
  82.         data = datas[i]
  83.         @window_talking.contents.draw_text(0, i * 16, @window_talking.contents.width, 16, data)
  84.       end
  85.       @counter_talking = 0
  86.     end
  87.  
  88.     if @window_talking && !@window_talking.disposed?
  89.       @window_talking.update
  90.       @window_talking.x = self.x - @window_talking.width / 2
  91.       @window_talking.y = self.y - @window_talking.height - 32
  92.  
  93.       case (@counter_talking += 1)
  94.       when 240
  95.         @window_talking.close
  96.       end
  97.     end
  98.   end
  99. end




RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Scene_Map
  4. #------------------------------------------------------------------------------
  5. #  地图画面
  6. #==============================================================================
  7. $show_off=true
  8. class Scene_Map < Scene_Base
  9.   #--------------------------------------------------------------------------
  10.   # ● 开始处理
  11.   #--------------------------------------------------------------------------
  12.   def start
  13.     super
  14.  
  15.     SceneManager.clear
  16.     $game_player.straighten
  17.     $game_map.refresh
  18.     $game_message.visible = false
  19.     create_spriteset
  20.     create_all_windows
  21.     @menu_calling = false
  22.  
  23.     if !$show_off
  24.       $game_mapui = Game_MapUI.new
  25.       $game_mapui.update
  26.     end
  27.   end
  28.   #--------------------------------------------------------------------------
  29.   # ● 结束处理
  30.   #--------------------------------------------------------------------------
  31.   def terminate
  32.     super
  33.     SceneManager.snapshot_for_background
  34.     dispose_spriteset
  35.     perform_battle_transition if SceneManager.scene_is?(Scene_Battle)
  36.  
  37.     $game_mapui.dispose if $game_mapui
  38.   end
  39.   #--------------------------------------------------------------------------
  40.   # ● 更新画面
  41.   #--------------------------------------------------------------------------
  42.   def update
  43.     super
  44.     $game_map.update(true)
  45.     $game_player.update
  46.     $game_timer.update
  47.     @spriteset.update
  48.     update_scene if scene_change_ok?
  49.  
  50.     $game_mapui.update if $game_mapui
  51.   end
  52.  
  53.   def call_menu
  54.   end
  55. end



要改动两个插件,一个地图上显示信息,一个是在角色下显示名字
给加了个全局变量控制$show_off=true,不显示以上两者,置为false就可显示了。


作者: 倾灬城    时间: 2014-2-8 23:19
rmav 发表于 2014-2-8 20:37
改法有几种。
下面给出一种改法:
你看看

嘤嘤嘤我是脚本废虽然大概能懂些但可以给我讲下详细用法吗谢谢qwwwwwq
作者: rmav    时间: 2014-2-9 07:26
本帖最后由 rmav 于 2014-2-9 07:28 编辑
倾灬城 发表于 2014-2-8 23:19
嘤嘤嘤我是脚本废虽然大概能懂些但可以给我讲下详细用法吗谢谢qwwwwwq


看事件页,你就明白了吧
https://rpg.blue/forum.php?mod=attachment&aid=MjIyMDc4fDdmODRhYjUwNzA5Y2YxYjA4NjAyMmM5ZGRkNWE4MTMxfDE3Mjc0ODcxNzk%3D&request=yes&_f=.gif

其中场所移动,不正常,可能你给我的范例不完整吧。

上面那两个脚本内容,放哪,见下
https://rpg.blue/forum.php?mod=attachment&aid=MjIyMDgwfDk5NzgwNDJmYTg5ZjIyY2UxZDgxODE5ZWViMThjM2UwfDE3Mjc0ODcxNzk%3D&request=yes&_f=.gif

2014-02-09_072217.gif (20.14 KB, 下载次数: 29)

2014-02-09_072217.gif

2014-02-09_072511.gif (3.98 KB, 下载次数: 30)

2014-02-09_072511.gif

作者: 倾灬城    时间: 2014-2-9 21:38
rmav 发表于 2014-2-9 07:26
看事件页,你就明白了吧
https://rpg.blue/forum.php?mod=attachment&aid=MjIyMDc4fDdmODRhYjUwNzA5Y2YxYjA4NjAyMmM5ZGRkNWE4MTMxfDE3Mjc0ODcxNzk%3D&request=yes&_f=.gif

唔是我表述的问题吗QAQ按您说的将两个脚本覆盖了上去,把事件也这样改了,但是改后使用开关只出现了角色脚下的名字但左上角的角色信息框为什么仍然没有出现qwwwwwq?
改过的工程在这:
链接: http://pan.baidu.com/s/1gdxaw2f 密码: 6r82
作者: rmav    时间: 2014-2-9 23:18
本帖最后由 rmav 于 2014-2-9 23:47 编辑
倾灬城 发表于 2014-2-9 21:38
唔是我表述的问题吗QAQ按您说的将两个脚本覆盖了上去,把事件也这样改了,但是改后使用开关只出现了角色 ...


这下好了吧
显示黑幕什么的111.rar (1.49 MB, 下载次数: 30)

这脚本写法有些怪¥#……T¥&#
作者: 倾灬城    时间: 2014-2-10 15:55
rmav 发表于 2014-2-9 23:18
这下好了吧

那么这次就是需要将上述两个脚本覆盖在原来的上面,然后把事件中的脚本语句改成现在的就行了对吧?不用做其他更改了是吗?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1