KireSerdnaSáb Jun 23, 2012 5:15 pm
Administrador
Si alguna vez tu juego a colapsado por eventos y se pone lento, esta es la solución, con este Script reduce el lag provocado por los eventos.Su función es la de limitar la actualización de los procesos y los gráficos
de los eventos que permanezcan fuera de la vista en pantalla
de los eventos que permanezcan fuera de la vista en pantalla
- Código:
#================================================================
# *** Antilag en los eventos
#================================================================
# Near Fantastica
# Version 3
# 29.11.05
# Traducción: D.A.C.
#================================================================
# El script 'Antilag en los eventos' reduce el lag provocado por los eventos.
# Su función es la de limitar la actualización de los procesos y los gráficos
# de los eventos que permanezcan fuera de la vista en pantalla. Este script no
# afecta a los eventos que estén en 'proceso paralelo' o 'inicio automático'.
#================================================================
class Game_Map
#--------------------------------------------------------------------------
def in_range?(object)
screne_x = $game_map.display_x
screne_x -= 256
screne_y = $game_map.display_y
screne_y -= 256
screne_width = $game_map.display_x
screne_width += 2816
screne_height = $game_map.display_y
screne_height += 2176
return false if object.real_x <= screne_x
return false if object.real_x >= screne_width
return false if object.real_y <= screne_y
return false if object.real_y >= screne_height
return true
end
#--------------------------------------------------------------------------
def update_events
for event in @events.values
if in_range?(event) or event.trigger == 3 or event.trigger == 4
event.update
end
end
end
end
#================================================================
# ** Spriteset_Map
#================================================================
class Spriteset_Map
#--------------------------------------------------------------------------
def in_range?(object)
screne_x = $game_map.display_x
screne_x -= 256
screne_y = $game_map.display_y
screne_y -= 256
screne_width = $game_map.display_x
screne_width += 2816
screne_height = $game_map.display_y
screne_height += 2176
return false if object.real_x <= screne_x
return false if object.real_x >= screne_width
return false if object.real_y <= screne_y
return false if object.real_y >= screne_height
return true
end
#--------------------------------------------------------------------------
def update_character_sprites
for sprite in @character_sprites
if sprite.character.is_a?(Game_Event)
if in_range?(sprite.character) or sprite.character.trigger == 3 or sprite.character.trigger == 4
sprite.update
end
else
sprite.update
end
end
end
end