谢谢啊,问题终于解决了 |
我想起来了,上次我用的时候也是这样,把原来那些叫1234的图改成Background_1234S啥的就行了。 |
jt04.jpg (49.19 KB, 下载次数: 24)
没记错的话是要把Graphics的Gallery里面的图放到Pictures里面, 你去试试吧。。。 |
jt03.jpg (17.46 KB, 下载次数: 42)
超级整合里面有个存读档的图片素材貌似放错位置了,不知道你是不是因为没有搞这个才有错。。 |
范例我看了,但是我研究了半天,都不能用自己的视频啊 |
这应该还有一个 DLL 档才能用吧,tseyik 大大不是有给载点和说明范例吗?您不会只抓了脚本吧? |
你好,能帮我看看这个脚本怎么用么,我尝试改过但是没反应 RUBY 代码复制
=begin ■ RGDS_SP ver 0.0.1.2 動画再生スクリプト(表示系)for VX Ace 動画再生スクリプト(ベース)より下に配置してください。 =end module RGDS_SP @@visible = false # ■ 動画設定クラス $game_system.movie_infoで使用 class MovieInfo attr_reader :x attr_reader :y attr_reader :z attr_reader :width_max attr_reader :height_max attr_reader :origin_center attr_accessor :mode attr_accessor :refresh_flag def initialize @x = Graphics.width / 2 @y = Graphics.height / 2 @z = 500 @width_max = 0 @height_max = 0 @origin_center = true @mode = 0 @refresh_flag = false end # セッター def x=(n) @x = n @refresh_flag = true end def y=(n) @y = n @refresh_flag = true end def z=(n) @z = n @refresh_flag = true end def width_max=(n) @width_max = n @refresh_flag = true end def width_max=(n) @width_max = n @refresh_flag = true end def origin_center=(flag) @origin_center = flag @refresh_flag = true end # ■ 表示位置、サイズを指定します。 #- x, y: 表示座標 #- width_max, height_max: 表示枠。この内部に収まるように拡大縮小します。 # : どちらかが0以下の場合拡大縮小は行われません。 #- orogin: 表示位置基準点 false(デフォ): 動画の左上, true: 動画の中心を上記 #- の[x,y]にあわせます def set_position(x=0,y=0,width_max=0,height_max=0,origin=false) @x = x @y = y @width_max = width_max @height_max = height_max @origin_center = origin @refresh_flag = true end # ■ 以降の表示位置、サイズをデフォルトに戻します。 # 拡大縮小なし、左上にあわせて表示 def reset_position @x = Graphics.width / 2 @y = Graphics.height / 2 @width_max = 0 @height_max = 0 @origin_center = true @refresh_flag = true end end class MovieSprite < ::Sprite # 初期化 def initialize(viewport=nil) super self.visible = false self.bitmap = RGDS.bitmap fix_position() end # 拡大縮小処理 def change_zoom zoom = 1.0 bw = self.bitmap.width bh = self.bitmap.height return if bw <= 0 or bh <= 0 if $game_system.movie_info.width_max > 0 and $game_system.movie_info.height_max > 0 zoom_w = $game_system.movie_info.width_max.to_f / bw.to_f zoom_h = $game_system.movie_info.height_max.to_f / bh.to_f zoom = [zoom_w, zoom_h].min end self.zoom_x = zoom self.zoom_y = zoom end # 表示位置変更 def fix_position self.x = $game_system.movie_info.x self.y = $game_system.movie_info.y self.z = $game_system.movie_info.z if $game_system.movie_info.origin_center self.ox = self.bitmap.width / 2 self.oy = self.bitmap.height / 2 end change_zoom() end def update if (self.visible = RGDS.visible) if RGDS.bitmap_changed? or self.bitmap.disposed? self.bitmap = RGDS.bitmap fix_position() RGDS.bitmap_changed = false $game_system.movie_info.refresh_flag = false elsif $game_system.movie_info.refresh_flag fix_position() $game_system.movie_info.refresh_flag = false end end super end end module_function # ■ 動画をオープンします。初回は1~2秒ほどかかる場合もあります。 def open(filename) RGDS.open(filename) end # ■ 動画を停止しクローズします。 def close RGDS.close() end # ■ openされた動画を再生します。一時停止中なら再開します。 # 再生が終わると自動的にクローズします。 def run RGDS.run() end # ■ 動画を一時停止します。再開はrunで行います。 def pause RGDS.pause() end # ■ 動画をオープンして自動再生します。 #- 決定キーでスキップします。 def start_movie(filename, option={}) # スキップ検出オプション if option.key?(:skip_sw) skip_sw = option[:skip_sw].to_i else skip_sw = 0 end # スキップ禁止モードオプション if option.key?(:nsm) nsm_mode = option[:nsm] else nsm_mode = false end if skip_sw > 0 $game_switches[skip_sw] = true end scene_temp = SceneManager.scene if scene_temp.is_a?(Scene_Map) or scene_temp.is_a?(Scene_Battle) msgv = SceneManager.scene.instance_variable_get(:@message_window) msgv.update tempv = msgv.visible msgv.visible = false # オープン RGDS.open(filename) RGDS.run() # 終了またはボタンが押されるまでループ loop do break if scene_temp != SceneManager.scene # 画面の更新 if SceneManager.scene.is_a?(Scene_Map) SceneManager.scene.update_for_fade else SceneManager.scene.update_basic end if !RGDS.active? # 再生終了 if skip_sw > 0 $game_switches[skip_sw] = false end break end unless nsm_mode if Input.trigger?(Input::C) or Input.trigger?(Input::B) break end end end RGDS.close() msgv.visible = tempv end end # ■ 以降の表示位置、サイズを指定します。 #- x, y: 表示座標 #- width_max, height_max: 表示枠。この内部に収まるように拡大縮小します。 # : どちらかが0以下の場合拡大縮小は行われません。 #- origin: 表示位置基準点 false: 動画の左上, true: 動画の中心を上記 #- の[x,y]にあわせます def set_position(x=0,y=0,width_max=0,height_max=0,origin=false) $game_system.movie_info.set_position(x,y,width_max,height_max,origin) end # ■ 以降の表示位置、サイズをデフォルトに戻します。 # 拡大縮小なし、中央にあわせて表示 def reset_position $game_system.movie_info.reset_position() end # 再生音量取得 def get_volume return RGDS.get_volume() end # 再生音量設定 def set_volume(volume) return RGDS.set_volume(volume) end end class Game_System def init_movie_info @movie_info = RGDS_SP::MovieInfo.new end def movie_info init_movie_info() if @movie_info.nil? return @movie_info end end class Spriteset_Map alias :_hn_movie__initialize :initialize unless private_method_defined?(:_hn_movie__initialize) def initialize # 元の処理 _hn_movie__initialize # 追加処理 create_movie update_movie end alias :_hn_movie__dispose :dispose unless method_defined?(:_hn_movie__dispose) def dispose dispose_movie _hn_movie__dispose end alias :_hn_movie__update :update unless method_defined?(:_hn_movie__update) def update update_movie _hn_movie__update end # ■ シーン移行時に動画を待機モードにします。 def create_movie @sp_movie = RGDS_SP::MovieSprite.new() @sp_movie.viewport = @viewport1 RGDS.system_resume end # ■ シーン移行時に動画を待機モードにします。 def dispose_movie RGDS.system_pause @sp_movie.viewport = nil @sp_movie.dispose @sp_movie = nil end def update_movie if RGDS.active? RGDS.update end @sp_movie.update unless @sp_movie.nil? end end class Spriteset_Battle alias :_hn_movie__initialize :initialize unless private_method_defined?(:_hn_movie__initialize) def initialize # 元の処理 _hn_movie__initialize # 追加処理 create_movie update_movie end alias :_hn_movie__dispose :dispose unless method_defined?(:_hn_movie__dispose) def dispose dispose_movie _hn_movie__dispose end alias :_hn_movie__update :update unless method_defined?(:_hn_movie__update) def update update_movie _hn_movie__update end # ■ シーン移行時に動画を待機モードにします。 def create_movie @sp_movie = RGDS_SP::MovieSprite.new() @sp_movie.viewport = @viewport1 RGDS.system_resume end # ■ シーン移行時に動画を待機モードにします。 def dispose_movie RGDS.system_pause @sp_movie.viewport = nil @sp_movie.dispose @sp_movie = nil end def update_movie if RGDS.active? RGDS.update end @sp_movie.update unless @sp_movie.nil? end end =begin ■ RGDS_OP_Movie ver 0.0.1.0 RGDS_base, RGDS_SP より下に配置してください =end class Scene_OpeningMovie < Scene_Base MOVIE_FILE = "Movies/opening.mpg" NSM = false #-------------------------------------------------------------------------- # ● メイン処理 #-------------------------------------------------------------------------- def main if $BTEST # 戦闘テストの場合 $scene = next_scene() else # 通常のプレイの場合 super # 本来のメイン処理 end end def next_scene Scene_Title.new end def start $game_temp = Game_Temp.new $game_system = Game_System.new RGDS.open(MOVIE_FILE) @movie_sprite = RGDS_SP::MovieSprite.new super end def post_start super RGDS.run end def update super RGDS.update @movie_sprite.update if !RGDS.active? # 再生終了 SceneManager.goto(Scene_Title) return end unless NSM if Input.trigger?(Input::C) or Input.trigger?(Input::B) SceneManager.goto(Scene_Title) return end end end def pre_terminate RGDS.close() @movie_sprite.dispose super end end module SceneManager #-------------------------------------------------------------------------- # ● 最初のシーンクラスを取得 #-------------------------------------------------------------------------- def self.first_scene_class $BTEST ? Scene_Battle : Scene_OpeningMovie end end |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-18 14:28
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.