Estealbo Administrador
Cantidad de envíos : 20 Fecha de inscripción : 04/02/2008
| Tema: Scripts XP - Pantalla 16:9 (tipo pelicula dvd) Sáb Feb 09, 2008 6:52 pm | |
| Este script sirve para que el juego se vea como una pelicula de dvd Intrucction: Poner ariba de main ------------------------------------------------------------------- Aqui esta el script: - Código:
-
# ■ 16:9 screen #------------------------------------------------------------------------------ # display maps with a 16:9 look # by Selwyn [mail=selwyn@rmxp.ch]selwyn@rmxp.ch[/mail] # #Modifica el número de SCREEN 169 SWIRCH ID=1 con el numero del #interruptor que vayas # a usar para activar este script, luego #puesta la ID #solo deberás activar el interruptor y se activará el script xD # #===========================================================
SCREEN_169_SWITCH_ID = 1
#=========================================================== # ■ Game_Map #============================================================
class Game_Map #-------------------------------------------------------------------------- # ● scroll_down #-------------------------------------------------------------------------- def scroll_down(distance) value = $game_switches[SCREEN_169_SWITCH_ID] ? 13 : 15 @display_y = [@display_y + distance, (self.height - value) * 128].min end end
#============================================================= # ■ Game_Player #==============================================================
class Game_Player < Game_Character #-------------------------------------------------------------------------- # ● center #-------------------------------------------------------------------------- def center(x, y) center_y = $game_switches[SCREEN_169_SWITCH_ID] ? ((208-16)*4) : (240-16)*4 value = $game_switches[SCREEN_169_SWITCH_ID] ? 13 : 15 max_x = ($game_map.width - 20) * 128 max_y = ($game_map.height - value) * 128 $game_map.display_x = [0, [x * 128 - CENTER_X, max_x].min].max $game_map.display_y = [0, [y * 128 - center_y, max_y].min].max end #-------------------------------------------------------------------------- # ● update #-------------------------------------------------------------------------- def update center_y = $game_switches[SCREEN_169_SWITCH_ID] ? ((208-16)*4) : (240-16)*4 last_moving = moving? unless moving? or $game_system.map_interpreter.running? or @move_route_forcing or $game_temp.message_window_showing case Input.dir4 when 2 move_down when 4 move_left when 6 move_right when 8 move_up end end last_real_x = @real_x last_real_y = @real_y super if @real_y > last_real_y and @real_y - $game_map.display_y > center_y $game_map.scroll_down(@real_y - last_real_y) end if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X $game_map.scroll_left(last_real_x - @real_x) end if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X $game_map.scroll_right(@real_x - last_real_x) end if @real_y < last_real_y and @real_y - $game_map.display_y < center_y $game_map.scroll_up(last_real_y - @real_y) end unless moving? if last_moving result = check_event_trigger_here([1,2]) if result == false unless $DEBUG and Input.press?(Input::CTRL) if @encounter_count > 0 @encounter_count -= 1 end end end end if Input.trigger?(Input::C) check_event_trigger_here([0]) check_event_trigger_there([0,1,2]) end end end end
#=============================================================== # ■ Spriteset_Map #===============================================================
class Spriteset_Map alias :update_screen :update #-------------------------------------------------------------------------- # ● initialize #-------------------------------------------------------------------------- def initialize @viewport1 = Viewport.new(0, 0, 640, 480) @viewport2 = Viewport.new(0, 0, 640, 480) @viewport3 = Viewport.new(0, 0, 640, 480) @viewport2.z = 200 @viewport3.z = 5000 @tilemap = Tilemap.new(@viewport1) @tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name) for i in 0..6 autotile_name = $game_map.autotile_names[i] @tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name) end @tilemap.map_data = $game_map.data @tilemap.priorities = $game_map.priorities @panorama = Plane.new(@viewport1) @panorama.z = -1000 @fog = Plane.new(@viewport1) @fog.z = 3000 @character_sprites = [] for i in $game_map.events.keys.sort sprite = Sprite_Character.new(@viewport1, $game_map.events[i]) @character_sprites.push(sprite) end @character_sprites.push(Sprite_Character.new(@viewport1, $game_player)) @weather = RPG::Weather.new(@viewport1) @picture_sprites = [] for i in 1..50 @picture_sprites.push(Sprite_Picture.new(@viewport2, $game_screen.pictures[i])) end @timer_sprite = Sprite_Timer.new update end #-------------------------------------------------------------------------- # ● update #-------------------------------------------------------------------------- def update value = $game_switches[SCREEN_169_SWITCH_ID] ? 32 : 0 if value != @viewport1.rect.y @viewport1.rect.set(0, value, 640, 480 - value*2) @viewport2.rect.set(0, value, 640, 480 - value*2) @viewport3.rect.set(0, value, 640, 480 - value*2) end update_screen end end | |
|