HOME
ツクール
RGSS
テクニック
ゲーム紹介
制作中のゲーム
ダウンロード
掲示板
ブログ
EnDREss DREamERブログ
PCパーツ・ソフト通販(仮)
DIYチューンブログ
リンク
マップデータ戦闘背景
コンセプト
現在のマップを戦闘背景にする。
挿入位置
「▼ 素材」のすぐ下辺りに。
完成すると
戦闘背景が現在のマップそのものに変更される。
更新履歴
4/22:戦闘テストに対応修正
★ 概要 ★
・戦闘背景を現在のマップに変更します。
RGSS2版と違い、純正で戦闘背景があるので単純にマップそのものを背景にしています。
・イベントは「!」付きのファイルドアや宝箱などのみ表示します。
・バトルレイアウト変更のサイドビューと併用することで
「擬似シームレス演出」が可能となります。
#============================================================================== # ☆VXAce RGSS3 「マップデータ戦闘背景」☆ # EnDlEss DREamER # URL:http://mitsu-evo.6.ql.bz/ # 製作者 mitsu-evo # Last:2014/4/22 # マップIDを指定して、そのマップデータを戦闘背景にする。 # ▼ 素材よりも下に。 #============================================================================== $ed_rgss3 = {} if $ed_rgss3 == nil $ed_rgss3["ed_map_battle_back"] = true =begin 4/22:戦闘テストに対応修正 ★ 概要 ★ ・戦闘背景を現在のマップに変更します。 ・イベントは「!」付きのファイルドアや宝箱などのみ表示します。 ・バトルレイアウト変更のサイドビューと併用することで 「擬似シームレス演出」が可能となります。 =end # 戦闘テスト用マップ Battle_Test_Map = 1 #============================================================================== # ■ Spriteset_Battle #------------------------------------------------------------------------------ # バトル画面のスプライトをまとめたクラスです。このクラスは Scene_Battle クラ # スの内部で使用されます。 #============================================================================== class Spriteset_Battle #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def initialize create_viewports #create_battleback1 #create_battleback2 @back1_sprite = Sprite.new(@viewport1) @back2_sprite = Sprite.new(@viewport1) # spriteset_mapクラスより create_tilemap create_parallax create_characters create_shadow create_weather create_enemies create_actors create_pictures create_timer update end #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- def update update_tileset update_tilemap update_parallax update_characters update_shadow update_weather #update_battleback1 #update_battleback2 update_enemies update_actors update_pictures update_timer update_viewports end #------------------------------------------------------------------------------- #-------------------------------------------------------------------------- # ● 戦闘背景(床)スプライトの作成 #-------------------------------------------------------------------------- def create_battleback1 dispose_battleback1 @back1_sprite = Sprite.new(@viewport1) @back1_sprite.bitmap.dispose @back1_sprite.visible = false end #-------------------------------------------------------------------------- # ● 戦闘背景(壁)スプライトの作成 #-------------------------------------------------------------------------- def create_battleback2 dispose_battleback2 @back2_sprite = Sprite.new(@viewport1) @back2_sprite.bitmap.dispose @back2_sprite.visible = false end #-------------------------------------------------------------------------- # ● 解放 #-------------------------------------------------------------------------- def dispose dispose_tilemap dispose_parallax dispose_characters dispose_shadow dispose_weather dispose_enemies dispose_actors dispose_pictures dispose_timer dispose_viewports end #-------------------------------------------------------------------------- # ● タイルマップの作成 #-------------------------------------------------------------------------- def create_tilemap @tilemap = Tilemap.new(@viewport1) if $BTEST @map = load_data(sprintf("Data/Map%03d.rvdata2", Battle_Test_Map)) @test_tileset = $data_tilesets[@map.tileset_id] @tilemap.map_data = @map.data else @tilemap.map_data = $game_map.data end load_tileset end #-------------------------------------------------------------------------- # ● タイルセットのロード #-------------------------------------------------------------------------- def load_tileset @tileset = $BTEST ? @test_tileset : $game_map.tileset @tileset.tileset_names.each_with_index do |name, i| @tilemap.bitmaps[i] = Cache.tileset(name) end @tilemap.flags = @tileset.flags end #-------------------------------------------------------------------------- # ● 遠景の作成 #-------------------------------------------------------------------------- def create_parallax @parallax = Plane.new(@viewport1) @parallax.z = -100 end #-------------------------------------------------------------------------- # ● !付きのファイル名に合致するかどうか? #-------------------------------------------------------------------------- def match_chara(event) return event.character_name =~ /^[!]/ ? true : false end #-------------------------------------------------------------------------- # ● キャラクタースプライトの作成 #-------------------------------------------------------------------------- def create_characters @character_sprites = [] @map_id = $game_map.map_id $game_map.events.values.each do |event| next unless match_chara(event) @character_sprites.push(Sprite_Character.new(@viewport1, event)) end $game_map.vehicles.each do |vehicle| next unless match_chara(vehicle) @character_sprites.push(Sprite_Character.new(@viewport1, vehicle)) end $game_player.followers.reverse_each do |follower| next unless match_chara(follower) @character_sprites.push(Sprite_Character.new(@viewport1, follower)) end #@character_sprites.push(Sprite_Character.new(@viewport1, $game_player)) end #-------------------------------------------------------------------------- # ● 飛行船の影スプライトの作成 #-------------------------------------------------------------------------- def create_shadow @shadow_sprite = Sprite.new(@viewport1) @shadow_sprite.bitmap = Cache.system("Shadow") @shadow_sprite.ox = @shadow_sprite.bitmap.width / 2 @shadow_sprite.oy = @shadow_sprite.bitmap.height @shadow_sprite.z = 180 end #-------------------------------------------------------------------------- # ● 天候の作成 #-------------------------------------------------------------------------- def create_weather @weather = Spriteset_Weather.new(@viewport2) end #-------------------------------------------------------------------------- # ● タイルマップの解放 #-------------------------------------------------------------------------- def dispose_tilemap @tilemap.dispose end #-------------------------------------------------------------------------- # ● 遠景の解放 #-------------------------------------------------------------------------- def dispose_parallax @parallax.bitmap.dispose if @parallax.bitmap @parallax.dispose end #-------------------------------------------------------------------------- # ● キャラクタースプライトの解放 #-------------------------------------------------------------------------- def dispose_characters @character_sprites.each {|sprite| sprite.dispose } end #-------------------------------------------------------------------------- # ● 飛行船の影スプライトの解放 #-------------------------------------------------------------------------- def dispose_shadow @shadow_sprite.dispose end #-------------------------------------------------------------------------- # ● 天候の解放 #-------------------------------------------------------------------------- def dispose_weather @weather.dispose end #-------------------------------------------------------------------------- # ● タイルセットの更新 #-------------------------------------------------------------------------- def update_tileset if $BTEST if @tileset != @test_tileset # 戦闘テスト用 load_tileset refresh_characters return end else @tileset != $game_map.tileset load_tileset refresh_characters end end #-------------------------------------------------------------------------- # ● タイルマップの更新 #-------------------------------------------------------------------------- def update_tilemap @tilemap.map_data = $BTEST ? @map.data : $game_map.data @tilemap.ox = $game_map.display_x * 32 unless $BTEST @tilemap.oy = $game_map.display_y * 32 unless $BTEST @tilemap.update end #-------------------------------------------------------------------------- # ● 遠景の更新 #-------------------------------------------------------------------------- def update_parallax return if $BTEST if @parallax_name != $game_map.parallax_name @parallax_name = $game_map.parallax_name @parallax.bitmap.dispose if @parallax.bitmap @parallax.bitmap = Cache.parallax(@parallax_name) Graphics.frame_reset end @parallax.ox = $game_map.parallax_ox(@parallax.bitmap) @parallax.oy = $game_map.parallax_oy(@parallax.bitmap) end #-------------------------------------------------------------------------- # ● キャラクタースプライトの更新 #-------------------------------------------------------------------------- def update_characters return if $BTEST refresh_characters if @map_id != $game_map.map_id @character_sprites.each {|sprite| sprite.update } end #-------------------------------------------------------------------------- # ● 飛行船の影スプライトの更新 #-------------------------------------------------------------------------- def update_shadow return if $BTEST airship = $game_map.airship @shadow_sprite.x = airship.screen_x @shadow_sprite.y = airship.screen_y + airship.altitude @shadow_sprite.opacity = airship.altitude * 8 @shadow_sprite.update end #-------------------------------------------------------------------------- # ● 天候の更新 #-------------------------------------------------------------------------- def update_weather return if $BTEST @weather.type = $game_map.screen.weather_type @weather.power = $game_map.screen.weather_power @weather.ox = $game_map.display_x * 32 @weather.oy = $game_map.display_y * 32 @weather.update end #-------------------------------------------------------------------------- # ● キャラクターのリフレッシュ #-------------------------------------------------------------------------- def refresh_characters dispose_characters create_characters end #------------------------------------------------------------------------------- end
Copyright (C)
EnDlEss DREamER
. All Rights Reserved.
テンプレートのpondt
リサーチ