❤ 0 Auteur : cozziekuns
Logiciel : RPG Maker VX
Nombre de scripts : 1
Source : https://rmrk.net/index.php/topic,43325.0.html
Description
Ce script permet d'avoir un Battleback de la map avec une déformation donnant l'illusion de la 3D.
Utilisation
Vous pouvez configurer le script dans la partie module.
- Pour le mode, mettez 0 si vous souhaitez avoir l'effet 3D en mode 7, 1 si vous souhaitez un mode 3D plus classique.
- Blur (true ou false) permet de flouter ou non le fond.
- Les options liées à Floor déterminent si vous utilisez l'image Battlefloor (grâce à l'opacité), et ses coordonnées.
- Zoom vous donne la possibilité d'agrandir le fond de la map via un quotient multiplicateur (1 étant 100%)
Compatibilité
- Ce script ne fonctionne pas avec le mapping en overlay.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
| #===============================================================================
# Pseudo 3D Battlebacks
#-------------------------------------------------------------------------------
# Version: 1.1
# Author: cozziekuns (rmrk)
# Last Date Updated: 7/25/2011
#===============================================================================
# Description:
#-------------------------------------------------------------------------------
# This script is a completely plug and play solution to the aesthetically dull
# default, wavy looking battle background. It instead takes a snapshot of the
# screen and then renders a Pseudo 3D image that varies depending on your settings.
#===============================================================================
# Updates
#-------------------------------------------------------------------------------
# o 7/31/2011 - Updated with some fixes.
# o 7/25/2011 - Started Script
#===============================================================================
# To-do List
#-------------------------------------------------------------------------------
# o More Modes.
#===============================================================================
# Instructions
#-------------------------------------------------------------------------------
# Copy and paste this script above ? Main Process but below ? Materials, and
# edit the modules to your liking. Some difficult modules have links to the
# instructions.
#===============================================================================
# Mode
#-------------------------------------------------------------------------------
# MODE:
# 0 => A Mode7 like feature that changes the zoom values of Tiles B through E
# as well as A.
# 1 => A more realistic 3D like feature that only changes the zoom values of
# TileA.
#===============================================================================
module COZZIEKUNS
module P3D_BATTLE_BACKGROUNDS
MODE = 0
BLUR = false # Do you want to blur the background?
FLOOR_X = 0 # X value of Battlefloor
FLOOR_Y = 192 # Y value of BattleFloor
FLOOR_OPACITY = 0 # Opacity of BattleFloor
ZOOM = 2 # Zoom value
end
end
#==============================================================================
# ** Game_Temp
#------------------------------------------------------------------------------
# This class handles temporary data that is not included with save data.
# The instance of this class is referenced by $game_temp.
#==============================================================================
class Game_Temp
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :layer1_vis
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
alias coz_gt_3d_battleback_initialize initialize
def initialize
coz_gt_3d_battleback_initialize
@layer1_vis = false
end
end
#==============================================================================
# ** Scene_Map
#==============================================================================
class Scene_Map
#--------------------------------------------------------------------------
# * Create Snapshot for Using as Background of Another Screen
#--------------------------------------------------------------------------
alias coz_fixed3d_snapshot_for_background snapshot_for_background
def snapshot_for_background
if $scene.is_a?(Scene_Battle)
case COZZIEKUNS::P3D_BATTLE_BACKGROUNDS::MODE
when 0
$game_temp.background_bitmap.dispose
$game_temp.background_bitmap = Graphics.snap_to_bitmap
@spriteset.dispose_layer_all
$game_temp.background_bitmap = Graphics.snap_to_bitmap
when 1
@spriteset.dispose_layer2
$game_temp.background_bitmap.dispose
$game_temp.background_bitmap = Graphics.snap_to_bitmap
@spriteset.dispose_layer1
$game_temp.background_bitmap = Graphics.snap_to_bitmap
end
end
else
coz_fixed3d_snapshot_for_background
end
end
#==============================================================================
# ** Spriteset_Map
#==============================================================================
class Spriteset_Map
#--------------------------------------------------------------------------
# * Create Dummy Sprite
#--------------------------------------------------------------------------
def create_dummy_sprite
zoom = COZZIEKUNS::P3D_BATTLE_BACKGROUNDS::ZOOM - 1
source = $game_temp.background_bitmap
bitmap = source
@battleback_sprites = []
for i in 0...416
battleback_sprite = Sprite.new(@viewport1)
battleback_sprite.bitmap = bitmap
battleback_sprite.src_rect.set(0, i, 544, 1)
battleback_sprite.x = -(i / (2).to_f) * zoom
battleback_sprite.y = i
battleback_sprite.z = -1
battleback_sprite.zoom_x = (i * (zoom / (416).to_f)) + 1
@battleback_sprites.push(battleback_sprite)
end
end
#--------------------------------------------------------------------------
# * Dispose
#--------------------------------------------------------------------------
alias coz_spm_3d_battleback_dispose dispose
def dispose
dispose_dummy_sprite if @battleback_sprites != nil
coz_spm_3d_battleback_dispose
end
#--------------------------------------------------------------------------
# * Dispose Layer1 Tilemap
#--------------------------------------------------------------------------
def dispose_layer1
@tilemap.bitmaps[0] = nil
@tilemap.bitmaps[1] = nil
@tilemap.bitmaps[2] = Cache.system("TileA3")
@tilemap.bitmaps[3] = Cache.system("TileA4")
@tilemap.bitmaps[4] = nil
@tilemap.bitmaps[5] = Cache.system("TileB")
@tilemap.bitmaps[6] = Cache.system("TileC")
@tilemap.bitmaps[7] = Cache.system("TileD")
@tilemap.bitmaps[8] = Cache.system("TileE")
create_dummy_sprite
@tilemap.update
end
#--------------------------------------------------------------------------
# * Dispose Layer 2
#--------------------------------------------------------------------------
def dispose_layer2
@tilemap.bitmaps[0] = Cache.system("TileA1")
@tilemap.bitmaps[1] = Cache.system("TileA2")
@tilemap.bitmaps[2] = nil
@tilemap.bitmaps[3] = nil
@tilemap.bitmaps[4] = Cache.system("TileA5")
@tilemap.bitmaps[5] = nil
@tilemap.bitmaps[6] = nil
@tilemap.bitmaps[7] = nil
@tilemap.bitmaps[8] = nil
@tilemap.update
end
#--------------------------------------------------------------------------
# * Dispose Layer All
#--------------------------------------------------------------------------
def dispose_layer_all
create_dummy_sprite
@tilemap.bitmaps[0] = nil
@tilemap.bitmaps[1] = nil
@tilemap.bitmaps[2] = nil
@tilemap.bitmaps[3] = nil
@tilemap.bitmaps[4] = nil
@tilemap.bitmaps[5] = nil
@tilemap.bitmaps[6] = nil
@tilemap.bitmaps[7] = nil
@tilemap.bitmaps[8] = nil
@tilemap.update
end
#--------------------------------------------------------------------------
# * Dispose Dummy Sprite
#--------------------------------------------------------------------------
def dispose_dummy_sprite
for sprite in @battleback_sprites
sprite.dispose
end
end
end
#==============================================================================
# ** Spriteset_Battle
#==============================================================================
class Spriteset_Battle
#--------------------------------------------------------------------------
# * Create Battleback Sprite
#--------------------------------------------------------------------------
def create_battleback
@battleback_sprite = Sprite.new(@viewport1)
@battleback_sprite.bitmap = $game_temp.background_bitmap.clone
@battleback_sprite.bitmap.blur if COZZIEKUNS::P3D_BATTLE_BACKGROUNDS::BLUR
end
#--------------------------------------------------------------------------
# * Create Battlefloor Sprite
#--------------------------------------------------------------------------
def create_battlefloor
@battlefloor_sprite = Sprite.new(@viewport1)
@battlefloor_sprite.bitmap = Cache.system("BattleFloor")
@battlefloor_sprite.x = COZZIEKUNS::P3D_BATTLE_BACKGROUNDS::FLOOR_X
@battlefloor_sprite.y = COZZIEKUNS::P3D_BATTLE_BACKGROUNDS::FLOOR_Y
@battlefloor_sprite.z = 1
@battlefloor_sprite.opacity = COZZIEKUNS::P3D_BATTLE_BACKGROUNDS::FLOOR_OPACITY
end
end |
Mis à jour le 20 novembre 2020.
|