Gabs Capitão
Ocupação : Procrastinando
Registro : Gabs : Animal : Dinossauro lv barney | Grappler lv Indiana Jones
| Assunto: Sítio Arqueológico do Gabi Qui Abr 14, 2011 12:13 am | |
| Bom, aqui eu vou jogar todas as parafernalhas maker que eu vir a criar, achar, ter saco de disponibilizar. Gabs 'Show Picture' Position Fix- Spoiler:
InfoEste script foi desenvolvido pensando em quem usa pictures para iluminações. Basta adicionar um sufixo [FIX] no nome dos arquivos de iluminação, que eles serão mostrados na tela(Mostrar Picture) com referencia como o canto do mapa(tile 0,0), e não o ponto da tela 0,0. Além disso, ele fixa esta coordenada da imagem, e no comando Mover Imagem não se faz necessário usar coordenadas. Ele vai obedecer as coordenadas pre-estabelecidas no Mostrar Imagem. Obs: Para TRAVAR O DESLOCAMENTO da imagem com o movimento da tela, use o Farenheit ManyPics, com o comando lock(pic). Obs²: Cole o meu script acima do ManyPics. Usando estas duas funções, creio que todos problemas de funcionalidade(ou grande parte) na criação de iluminações individuais seja resolvida. Críticas, dicas, sugestões são aprecisados. Histórico1.1*Corrigido bug ao usar nova picture sem sufixo [FIX] com o mesmo número de outra que já havia sido usada com ele. *Função Mover Imagem funcionando completamente agora. 1.2*Script totalmente refeito, para corrigir erros do Mover Imagem *Nao ha mais necessidade de colocar coordenadas no Mover Imagem, ele obedecerá as pre-estabelecidas no Mostrar Imagem. Script - Código:
-
#-------------------------------------------------------------------------- # Gabs 'Show Picture' Fix Position V. 1.1 # 8 de Abril 2011(1.1) #-------------------------------------------------------------------------- #1.1 : #Corrigido bug ao usar nova picture sem sufixo [FIX] com # o mesmo número de outra que já havia sido usada com ele. # Função Mover Imagem funcionando completamente agora. #1.2: #Script totalmente refeito, para corrigir erros do Mover Imagem #Nao ha mais necessidade de colocar coordenadas no Mover Imagem, ele obedecerá #as pre-estabelecidas no Mostrar Imagem. #-------------------------------------------------------------------------- #Este script foi desenvolvido pensando em quem usa pictures para iluminações. #Basta adicionar um sufixo no nome dos arquivos de iluminação, que eles serão #mostrados na tela(Mostrar Picture) com referencia como o canto do #mapa(tile 0,0), e não o ponto da tela 0,0. Além disso, ele fixa esta #coordenada da imagem, e no comando Mover Imagem não se faz necessário usar #coordenadas. Ele vai obedecer as coordenadas pre-estabelecidas no Mostrar #Imagem. #-------------------------------------------------------------------------- #Obs: Para TRAVAR O DESLOCAMENTO da imagem com o movimento da tela, use o [url=http://www.santuariorpgmaker.com/forum/index.php?topic=678.msg3094#msg3094]Farenheit ManyPics[/url], com o comando lock(pic). #Obs²: Cole o meu script acima do ManyPics. #-------------------------------------------------------------------------- #Usando estas duas funções, creio que todos problemas de funcionalidade(ou grande parte) na criação de iluminações individuais seja resolvida. #-------------------------------------------------------------------------- class Game_Picture def show_gw(name, origin, x, y, zoom_x, zoom_y, opacity, blend_type) @name = name @origin = origin @x = x.to_f @y = y.to_f @zoom_x = zoom_x.to_f @zoom_y = zoom_y.to_f @opacity = opacity.to_f @blend_type = blend_type @duration = 0 @target_x = @x @target_y = @y @target_zoom_x = @zoom_x @target_zoom_y = @zoom_y @target_opacity = @opacity @tone = Tone.new(0, 0, 0, 0) @tone_target = Tone.new(0, 0, 0, 0) @tone_duration = 0 @angle = 0 @rotate_speed = 0 @x -= $game_map.display_x / 4 @y -= $game_map.display_y / 4 end def move_gw(duration, origin, x, y, zoom_x, zoom_y, opacity, blend_type) @duration = duration @origin = origin @target_x = @x @target_y = @y @target_zoom_x = zoom_x.to_f @target_zoom_y = zoom_y.to_f @target_opacity = opacity.to_f @blend_type = blend_type end #-------------------------------------------------------------------------- # Atualização do Frame #-------------------------------------------------------------------------- def update if @duration >= 1 d = @duration @x = (@x * (d - 1) + @target_x) / d @y = (@y * (d - 1) + @target_y) / d @zoom_x = (@zoom_x * (d - 1) + @target_zoom_x) / d @zoom_y = (@zoom_y * (d - 1) + @target_zoom_y) / d @opacity = (@opacity * (d - 1) + @target_opacity) / d @duration -= 1 end if @tone_duration >= 1 d = @tone_duration @tone.red = (@tone.red * (d - 1) + @tone_target.red) / d @tone.green = (@tone.green * (d - 1) + @tone_target.green) / d @tone.blue = (@tone.blue * (d - 1) + @tone_target.blue) / d @tone.gray = (@tone.gray * (d - 1) + @tone_target.gray) / d @tone_duration -= 1 end if @rotate_speed != 0 @angle += @rotate_speed / 2.0 while @angle < 0 @angle += 360 end @angle %= 360 end end end
class Interpreter #-------------------------------------------------------------------------- # Mostrar Imagem #-------------------------------------------------------------------------- $fix = [] def command_231 number = @parameters[0] + ($game_temp.in_battle ? 50 : 0) if @parameters[3] == 0 x = @parameters[4] y = @parameters[5] else x = $game_variables[@parameters[4]] y = $game_variables[@parameters[5]] end #Verifica se existe a extensao no nome if @parameters[1].include?("[FIX]") == true $fix.push(number) else $fix.delete(number) end #Verifica se o numero da picture em questao tem a extensao if $fix.include?(number) $game_screen.pictures[number].show_gw(@parameters[1], @parameters[2], x, y, @parameters[6], @parameters[7], @parameters[8], @parameters[9]) return true else $game_screen.pictures[number].show(@parameters[1], @parameters[2], x, y, @parameters[6], @parameters[7], @parameters[8], @parameters[9]) return true end end #-------------------------------------------------------------------------- # Mover Imagem #-------------------------------------------------------------------------- def command_232 number = @parameters[0] + ($game_temp.in_battle ? 50 : 0) if @parameters[3] == 0 x = @parameters[4] y = @parameters[5] else x = $game_variables[@parameters[4]] y = $game_variables[@parameters[5]] end #Verifica se o numero da picture em questao tem a extensao if $fix.include?(number) $game_screen.pictures[number].move_gw(@parameters[1] * 2, @parameters[2], x, y, @parameters[6], @parameters[7], @parameters[8], @parameters[9]) return true else $game_screen.pictures[number].move(@parameters[1] * 2, @parameters[2], x, y, @parameters[6], @parameters[7], @parameters[8], @parameters[9]) return true end end end
Agradecimentos especiais a Farenheit(sou fã dos seus scripts) e Megalukes. O uso é livre, e quem tiver vergonha na cara pode dar crédito também se for usar. E, por favor, qualquer bug, comentem. É importante para melhorar ou corrigir erros desse pequeno script.
|
|
fbu Cabo
Ocupação : Editar slogans e mais... coisas!
| Assunto: Re: Sítio Arqueológico do Gabi Seg Abr 18, 2011 9:23 am | |
| Se eu tiver uma picture de iluminação, esse script vai fixar a mesma como se fosse um fog? Porque eu estava com esse problema há dias no RMXP. A picture de iluminação seguia o personagem, ao invés de ficar fixa. Só depois descobri ( ) que isso dava para fazer utilizando essa picture como um fog. Mas isso é legal, assim pode usar ambos em simultâneo. abraço! |
|
Gabs Capitão
Ocupação : Procrastinando
Registro : Gabs : Animal : Dinossauro lv barney | Grappler lv Indiana Jones
| Assunto: Re: Sítio Arqueológico do Gabi Seg Abr 18, 2011 1:21 pm | |
| Meu script nao fixa a imagem pra prevenir seu deslocamento conforme o personagem se move, pois como eu disse, o script ManyPic do farenheit exerce essa função muito bem. O meu, no caso, serve para chama-la independente do deslocamento inicial da tela, e alem disse, voce nao precisa ficar inserindo coordenadas no "Mover Imagem", pois ele vai seguir os inputados no "Mostrar Imagem". Mas eu to pensando em adicionar essa função de travar a imagem, afinal não é todo mundo que quer usar 2 scripts para suprir uma função. Ah, e eu posso fazer uma função de VX, se voce tiver precisando, nao deve ser muito diferente. |
|
fbu Cabo
Ocupação : Editar slogans e mais... coisas!
| Assunto: Re: Sítio Arqueológico do Gabi Seg Abr 18, 2011 3:01 pm | |
| Sei, sei. Entendi. Bem, eu não uso o VX mas aposto que tem povo aí que achará muito mais fácil utilizar o script ao invés de fazer o processo todo. |
|
Conteúdo patrocinado
| Assunto: Re: Sítio Arqueológico do Gabi | |
| |
|