Age : 134 Inscrit le : 14/04/2009 Messages : 1321
| Sujet: Ajouts de fonctionnalités pour le script des animations redimensionnées Sam 8 Jan 2011 - 18:26 | |
| Bonsoir ! Héhé, ça faisait un bail. J'ai pas trop trop envie de m'étaler sur les raisons de mon absence, mais bon, en tout cas, le forum n'a pas changer ! La communauté, elle, sûrement ... Certains me connaissent, d'autres moins, d'autres pas du tout. Oui, bon, enfin bref, disons que je n'ai pas posté pour ça. Il y'a longtemps, j'avais trouvé un script redimensionnant les animations sur la map. Bien utile. Ca évite que le héros se mange une putain d'animations 10 fois plus grosse lorsqu'il se reçoit un coup de poing -ou d'autres choses. Ceci dit, il ne prévoit pas que certaines animations soient redimensionnées, et d'autre non. Je pense pas que se soit particulièrement difficile de modifier ça ainsi que se ne soit que les animations prédéfinies qui serons redimensionnés .. Bon, voici le script : - Spoiler:
#=============================================================================== # Map_Anim #------------------------------------------------------------------------------- # Créé par Sihn # Version: 1.0 # Pour RMVX #------------------------------------------------------------------------------- # Ce script permet de réduire la taille des animations si elles sont jouées sur la map # Celles-ci conservent leur taille normale durant les combats. #------------------------------------------------------------------------------- # Vous pouvez régler les échelles de redimensionnement ci-dessous. # NORMAL_SCALE est l'échelle des animations qui ne sont pas en plein écran. # SCREEN_SCALE est l'échelle des animations qui sont en plein écran. (1.0 = taille normale) #===============================================================================
NORMAL_SCALE = 3.0 SCREEN_SCALE = 1.0
class Sprite_Base < Sprite def animation_set_sprites(frame) cell_data = frame.cell_data if $scene.is_a?(Scene_Map) scale = @animation.position == 3 ? SCREEN_SCALE : NORMAL_SCALE else scale = 1.0 end for i in 0..15 sprite = @animation_sprites[i] next if sprite == nil pattern = cell_data[i, 0] if pattern == nil or pattern == -1 sprite.visible = false next end if pattern < 100 sprite.bitmap = @animation_bitmap1 else sprite.bitmap = @animation_bitmap2 end sprite.visible = true sprite.src_rect.set(pattern % 5 * 192, pattern % 100 / 5 * 192, 192, 192) if @animation_mirror sprite.x = @animation_ox - (cell_data[i, 1] * scale) sprite.y = @animation_oy + (cell_data[i, 2] * scale) sprite.angle = (360 - cell_data[i, 4]) sprite.mirror = (cell_data[i, 5] == 0) else sprite.x = @animation_ox + (cell_data[i, 1] * scale) sprite.y = @animation_oy + (cell_data[i, 2] * scale) sprite.angle = cell_data[i, 4] sprite.mirror = (cell_data[i, 5] == 1) end sprite.z = self.z + 300 + i sprite.ox = 96 sprite.oy = 96 sprite.zoom_x = cell_data[i, 3] / 100.0 * scale sprite.zoom_y = cell_data[i, 3] / 100.0 * scale sprite.opacity = cell_data[i, 6] * self.opacity / 255.0 sprite.blend_type = cell_data[i, 7] end end end
Merci d'avance ! Artyflash |
|