RitoJS Ancien staffeux
Messages postés : 1925 Date d'inscription : 22/02/2012 Jauge LPC :
| Sujet: [VX]Affichage animé du nom des maps. Jeu 16 Aoû 2012 - 22:18 | |
| Crédit: RamiroCe script vous permet d'afficher le nom de vos maps de manière animé. (Ceux ayant joué à La Fleur de Romance ou encore à Lunar Wish comprendrons.) On peut modifier la vitesse du défilement des lettres, son emplacement, sa couleur... Un screen (pas vraiment utile mais ça vous montre un aperçu.): Le nom de la map s'affiche lettre par lettre. Script: - Code:
-
# SHOW THE MAP NAME - REVOLUTION MODE - #------------------------------------------------------------------------------ # Author Ramiro (Holy_wyvern, ramiazul) #------------------------------------------------------------------------------ # Version 1.0 #------------------------------------------------------------------------------ # Description: # Allows you to show the name of some maps, whit a nice graphical style #------------------------------------------------------------------------------ # Compatibility: # RPG maker VX script. # Shoud work with anyting (99.999 % sure) #------------------------------------------------------------------------------ # Instructions: # Insert on materials section # # To show the hero's name on a map or a variable # \N[id of actor on database] (1 - 999) # \P[id of variable] (1 - 999) # \PN[id of actor on party position] (0 - 3) # (Yes it's like the massage window...) #------------------------------------------------------------------------------ # BUGS: # Not now... Report if you found one #------------------------------------------------------------------------------ # Author's notes: # FOR non-Comertial games only. Giving credit it's not necesarry but it's nice :P #===============================================================================
#=============================================================================== # Configurations #===============================================================================
module MAPWINDOW VIEWING_TIME = 110 # viewing time of letter LETTER_ANIM = 150 # starting animating time LETTER_END = 20 # time for hiding the name INIT_X = 10 # start X of first letter INIT_Y = 10 # start Y of first letter START_ANGLE = -180 # start angle of firs letter RECT_COLOR = Color.new(255,255,255) # The line's color RECT_X = 0 # the X correction of the rect RECT_Y = -14 # the Y correction FIRST_LETTER = Color.new(255,255,255) # the first letter�s color LETTER_COLOR = Color.new(255,255,255,200) # other letter�s colors OPACITY = 255 # the letter�s opacity RECT_OPACITY = 255 # opacity of the rect FONT_SIZE = 25 # the size of the font EX_START_X = 0 # X start movement RECT_HEIGHT = 1 # the height of the rect NOT_SHOW_MAPS= [1,286,30,31,32,130,304,305,246] # put map id of maps than don't show # it's name eg. [1,2,3] end
#=============================================================================== # GAME MAP SETUP #=============================================================================== class Game_Map def name map_infos = load_data("Data/MapInfos.rvdata") name = map_infos[@map_id].name.clone name.gsub!(/\\N\[([0-9]+)\]/i) { $game_actors[$1.to_i].name } name.gsub!(/\\PN\[([0-9]+)\]/i) { $game_party.members[$1.to_i].name } name.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
return name end end
#=============================================================================== # The spritest of letters #===============================================================================
class Spriteset_MapName include MAPWINDOW def initialize @letters = [] @index = 0 @finish_count = @dispose_count = 0 end def set_sprites if !NOT_SHOW_MAPS.include?($game_map.map_id) dispose_sprites @letters = [] name = $game_map.name.scan(/./).clone @l_count = (LETTER_ANIM / name.size) + 1 @index = 0 @finish = false @finish_count = VIEWING_TIME @dispose_count = LETTER_END for i in 0...name.size @letters[i] = Sprite.new @letters[i].bitmap = Bitmap.new(FONT_SIZE,FONT_SIZE) @letters[i].ox = 10 @letters[i].oy = 10 @letters[i].bitmap.font.size = FONT_SIZE @letters[i].bitmap.font.color = i == 0 ? FIRST_LETTER : LETTER_COLOR @letters[i].bitmap.draw_text(0,0,FONT_SIZE,FONT_SIZE,name[i],1) @letters[i].x = i * (FONT_SIZE / 2) + EX_START_X + INIT_X @letters[i].y = INIT_Y @letters[i].z = 9999 @letters[i].opacity = 0 @letters[i].angle = START_ANGLE end @b_count = @letters.size * ((LETTER_ANIM / @letters.size) + 1) @border = Sprite.new @border.bitmap = Bitmap.new(@letters.size * (FONT_SIZE / 2) + (FONT_SIZE / 2), RECT_HEIGHT) @border.bitmap.fill_rect(Rect.new(0,0,@letters.size * (FONT_SIZE / 2) + (FONT_SIZE / 2), RECT_HEIGHT),RECT_COLOR) @border.x = - @border.width + INIT_X - (FONT_SIZE / 2) - RECT_X @border.opacity = 0 @border.y = INIT_Y + (FONT_SIZE ) + RECT_Y end end def update if !@finish if @letters[@index] if @l_count > 0 @letters[@index].x = (@letters[@index].x * (@l_count - 1) + @index * (FONT_SIZE / 2) + INIT_X) / @l_count @letters[@index].opacity = (@letters[@index].opacity * (@l_count - 1) + OPACITY) / @l_count @letters[@index].angle = (@letters[@index].angle * (@l_count - 1)) / @l_count @l_count -= 1 if @b_count > 0 @border.x = (@border.x * (@b_count - 1) + INIT_X - (FONT_SIZE / 2) + RECT_X) / @b_count @border.opacity = (@border.opacity * (@b_count - 1) + RECT_OPACITY) / @b_count @b_count -= 1 end else @index += 1 @l_count = ((LETTER_ANIM / @letters.size) + 1) end else @finish = true end else if @finish_count > 0 @finish_count -= 1 return end if @dispose_count > 0 for i in 0...@letters.size @letters[i].x = (@letters[i].x * (@dispose_count - 1) + i * (FONT_SIZE / 2) + 24 + INIT_X) / @dispose_count @letters[i].opacity = (@letters[i].opacity * (@dispose_count - 1)) / @dispose_count end @border.x = (@border.x * (@dispose_count - 1)+ INIT_X + RECT_X - (FONT_SIZE / 2) - @border.width ) / @dispose_count @border.opacity = (@border.opacity * (@dispose_count - 1)) / @dispose_count @dispose_count -= 1 end end end def dispose dispose_sprites end def dispose_sprites for i in @letters i.dispose end if @border @border.bitmap.dispose if @border.bitmap @border.dispose end end end
#=============================================================================== # The map #===============================================================================
class Scene_Map < Scene_Base alias smsbstrt start alias smsbupdbas update_transfer_player alias smsbupdnorm update alias smsbterm terminate def start @letters = Spriteset_MapName.new smsbstrt #~ @letters.set_sprites end def update @letters.update smsbupdnorm end def update_transfer_player teleported = true if $game_player.transfer? smsbupdbas @letters.set_sprites if teleported end def terminate @letters.dispose smsbterm end end L'affichage est fun, alors ne regardez pas que le screen, Essayez-le.^^ Voilà. |
|
Magicalichigo Ancienne staffeuse
Messages postés : 4252 Date d'inscription : 02/08/2011 Jauge LPC :
| Sujet: Re: [VX]Affichage animé du nom des maps. Jeu 16 Aoû 2012 - 22:28 | |
| Merci pour le partage c'est très intéressant et en plus c'est beau je trouve ! +2 points lpdm |
|
no0ony Paladin (niveau 3)
Messages postés : 618 Date d'inscription : 18/11/2013 Jauge LPC :
| Sujet: Re: [VX]Affichage animé du nom des maps. Lun 13 Jan 2014 - 23:24 | |
| Voulant ce script à tout prix, je ne sais pas si ça vient de l'overlay mapping ou pas mais il ne fonctionne pas chez moi. Il ne fait ni bugguer mon projet ou autres mais il ne s'affiche pas. HELP |
|
Zexion Administrateur
Messages postés : 6228 Date d'inscription : 04/01/2012 Jauge LPC :
| Sujet: Re: [VX]Affichage animé du nom des maps. Lun 13 Jan 2014 - 23:33 | |
| A la rigueur, fais une copie de ton projet et élimine les scripts que t'as ajouté un à un pour voir duquel provient l'incompatibilité. On sera plus en mesure de t'aider après je pense.
(Ah et aussi, question stupide mais je préfère demander : tu utilises bien RPG Maker VX ? Parce que celui-ci n'est pas pour Ace hein). |
|
no0ony Paladin (niveau 3)
Messages postés : 618 Date d'inscription : 18/11/2013 Jauge LPC :
| Sujet: Re: [VX]Affichage animé du nom des maps. Lun 13 Jan 2014 - 23:49 | |
| Bah c'est ce que j'ai fait Zexion et aucun résultat sauf pour l'overlay. Et Dieu sait à quelle point je ne peux me passer de l'overlay mapping ^^ Et sinon j'utilise bien Vx et non ace |
|
Magicalichigo Ancienne staffeuse
Messages postés : 4252 Date d'inscription : 02/08/2011 Jauge LPC :
| Sujet: Re: [VX]Affichage animé du nom des maps. Lun 13 Jan 2014 - 23:55 | |
| Tu l'a essayé sur quelles maps ? (le numéro) |
|
no0ony Paladin (niveau 3)
Messages postés : 618 Date d'inscription : 18/11/2013 Jauge LPC :
| Sujet: Re: [VX]Affichage animé du nom des maps. Mar 14 Jan 2014 - 1:00 | |
| |
|
Magicalichigo Ancienne staffeuse
Messages postés : 4252 Date d'inscription : 02/08/2011 Jauge LPC :
| Sujet: Re: [VX]Affichage animé du nom des maps. Mar 14 Jan 2014 - 1:37 | |
| Comme dans le script il y a certaines maps désactivées de base pour l'affichage je demandais ^^ Tu as bien dans la config de la map mis un nom dans "nom à afficher" ? Comme ça te fait pas d'erreurs je cherche des oublis ^^ |
|
Invité Invité
| Sujet: Re: [VX]Affichage animé du nom des maps. Mar 14 Jan 2014 - 2:27 | |
| T'as qu'à essayer dans un projet vierge pour voir si t'arrives à le faire marcher déjà. Après peut être en le plaçant avant ou après tes autres scripts peut régler le bug. |
|
eddy_de_galdon Chevalier Dragon (niveau 2)
Messages postés : 807 Date d'inscription : 31/08/2013 Jauge LPC :
| Sujet: Re: [VX]Affichage animé du nom des maps. Mar 14 Jan 2014 - 7:09 | |
| Essaye de tester le script dans un projet simple. Ce script marche pour la forêt des perdus. |
|
Contenu sponsorisé
| Sujet: Re: [VX]Affichage animé du nom des maps. | |
| |
|