Project1

标题: 请问,如何让滚动字幕与对话同时进行呢? [打印本页]

作者: 星野穹    时间: 2014-7-31 18:55
标题: 请问,如何让滚动字幕与对话同时进行呢?
想做出那种播放滚动的制作人员名单,并且夹杂NPC的对话这种效果,不知道能否实现?还望前辈们能指教
作者: VIPArcher    时间: 2014-7-31 18:57
本帖最后由 VIPArcher 于 2014-7-31 19:00 编辑

1.最简单的:事件-显示滚动文字
2.事件-显示图片 && 移动图片,地图上在并行处理一些对话的NPC事件什么的。就是这样
作者: 星野穹    时间: 2014-7-31 19:07
VIPArcher 发表于 2014-7-31 18:57
1.最简单的:事件-显示滚动文字
2.事件-显示图片 && 移动图片,地图上在并行处理一些对话的NPC事件什么的。 ...

没有办法让滚动字幕和NPC的对话同时出现吗?我试了一下并行处理滚动字幕和对话,结果仍然是先处理滚动字幕,然后才播放对话……
作者: 星野穹    时间: 2014-7-31 19:25
就是不想用显示图片的办法呀,那样的话如果想做出滚动字幕的效果还要抠图……真的很麻烦,有没有简便的办法?
作者: 布里蓝    时间: 2014-7-31 19:33
不用抠图啊,直接用PS或毁图秀秀的文字功能呗
作者: 星野穹    时间: 2014-7-31 19:36
布里蓝 发表于 2014-7-31 19:33
不用抠图啊,直接用PS或毁图秀秀的文字功能呗

其实我是要做出那种地图回顾的感觉,背景是滚动的地图,如果放上图片的话是需要抠图的,所以才想问一下有没有简便的方法
作者: 星野穹    时间: 2014-7-31 19:49
啊,看来是没有什么共存的办法…… 看来还要寻求其他的解决办法…… 感谢各位了,这个问题到此为止吧
作者: 喵呜喵5    时间: 2014-7-31 21:56
本帖最后由 taroxd 于 2014-8-1 06:00 编辑


@height  \n

  1. ===============================================================================
  2.   滚动文字改 By喵呜喵5
  3. ===============================================================================

  4. 【说明】

  5.   (※ 这个脚本需要同时插入 喵呜喵5基础脚本 后才能使用)

  6.   指定的开关打开的时候,滚动文字时玩家可以随意移动
  7.   
  8.   滚动文字过程中切换场景(例如打开菜单)的话滚动文字将会强制结束
  9.   
  10.   【删除】意义不明的脚本【删除】
  11.   
  12.   毫无意外的,和我的阅读系统脚本并不兼容,【删除】因为我懒【删除】
  13.   
  14. =end
  15. $m5script ||= {}
  16. raise("需要喵呜喵5基础脚本的支持") unless $m5script["M5Base"]
  17. $m5script["M5ScrollText"] = 20140731
  18. M5script.version(20140731)
  19. module M5ScrollText
  20. #==============================================================================
  21. # 设定部分
  22. #==============================================================================

  23.   Z = 199
  24.   
  25.   # Z坐标
  26.   
  27.   X = 12
  28.   
  29.   # X坐标
  30.   
  31.   SWI = 1
  32.   
  33.   # 使用脚本的开关编号ID,打开时使用这个脚本

  34. #==============================================================================
  35. # 设定结束
  36. #==============================================================================
  37. end
  38. class Sprite_M5_ScrollText < Sprite_M5
  39.   include M5ScrollText
  40.   def initialize
  41.     super(nil)
  42.     @cal = Window_M5CalText.new
  43.     self.bitmap = Bitmap.new(1,1)   
  44.     @cal.font_height = @font_size = self.bitmap.text_size("口").height
  45.     @cal.font_width = self.bitmap.text_size("口").width
  46.     self.x,self.z = X,Z
  47.     @speed = 1
  48.     @start = false
  49.   end
  50.   def start(text,speed)
  51.     @speed = speed
  52.     @height = @cal.cal_all_text_height(text)   
  53.     self.bitmap.dispose
  54.     self.bitmap = Bitmap.new(Graphics.width*2,@height)
  55.     rect = self.bitmap.rect.clone
  56.     rect.height = @font_size
  57.     text.each_line("\n") do |line|
  58.       line.slice!("\n")
  59.       self.bitmap.draw_text(rect,line)
  60.       rect.y += @font_size
  61.     end
  62.     self.y = Graphics.height
  63.     @start = true
  64.   end
  65.   def update
  66.     super
  67.     return unless @start
  68.     self.y -= @speed
  69.     @start = false if self.y <= -@height
  70.   end
  71.   def dispose
  72.     super
  73.     @cal.dispose
  74.   end
  75. end
  76. class Scene_Map
  77.   attr_accessor :sprite_m5_scroll
  78.   alias m5_20140731_start start
  79.   def start
  80.     m5_20140731_start
  81.     @sprite_m5_scroll = Sprite_M5_ScrollText.new
  82.   end
  83. end
  84. class Window_ScrollText
  85.   alias m5_20140731_update update
  86.   def update
  87.     if $game_switches[M5ScrollText::SWI]
  88.       if $game_message.scroll_mode && SceneManager.scene_is?(Scene_Map)
  89.         SceneManager.scene.sprite_m5_scroll.start($game_message.all_text,
  90.           $game_message.scroll_speed)
  91.         $game_message.clear
  92.       end
  93.     end
  94.     m5_20140731_update
  95.   end
  96. end
复制代码
基础脚本:https://rpg.blue/home.php?mod=sp ... o=blog&id=13513            
作者: taroxd    时间: 2014-8-1 06:07
本帖最后由 taroxd 于 2014-8-1 06:26 编辑
喵呜喵5 发表于 2014-7-31 21:56
@height  \n基础脚本:https://rpg.blue/home.php?mod=sp ... o=blog&id=13513             ...


喵呜,我再给你个小建议吧。其实可以这样。

基础脚本:
RUBY 代码复制
  1. def 需要Taroxd基础脚本的支持(version, ...)
  2.   raise if version ...
  3. end


需要支持的脚本:
RUBY 代码复制
  1. 需要Taroxd基础脚本的支持 20140801
  2.  
  3. # 正文


------------------------------------------

另外,其实如果不想污染命名空间的话,其实我会这么干(当然因为我懒,那些脚本都懒得考虑兼容)

RUBY 代码复制
  1. raise '需要Taroxd基础脚本的支持' unless Object.const_defined?(:Taroxd)
  2. Taroxd.check_ver(20140801)
  3. Taroxd["喵呜喵是坏蛋"] = 20140801


不知道为什么我就是不想看见那个全局变量,虽然我承认那个全局变量基本不会重名

-----------------------------------------

另外防@的话,你只要每次编辑时把 @height 左右两边的 url 去掉,后面空一格(加\n是防止和后面的code连在一起)就行了  
作者: 喵呜喵5    时间: 2014-8-1 11:43
本帖最后由 喵呜喵5 于 2014-8-1 11:44 编辑
taroxd 发表于 2014-8-1 06:07
喵呜,我再给你个小建议吧。其实可以这样。

基础脚本:


如果同时需要基础脚本和我的另外一个脚本的支持该怎么办,
基础脚本里的那个方法就是为了检测我所有的脚本版本才那么写的(`・ω・)

全局变量先这么留着吧,反正考虑兼容的话别的地方可以改进的东西多了去了,没必要为一个全局变量设想各种情况【本音:如果有哪个妹子和我的命名习惯那么相似结果重名了的话请把她介绍给我,看我去兼容了她(脱裤)

=========================================

原来干掉@ 不用手动加url啊……|д゚ )




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