Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
zelda-like map scrolling script
#1
zelda-like map scrolling script
by nakuribon
Sep 21 2005

This is a locked, single-post thread from Creation Asylum. Archived here to prevent its loss.
No support is given. If you are the owner of the thread, please contact administration.


hope this is of some use to someone!
Code:
class Game_Map
#--------------------------------------------------------------------------
# * Scroll Down
#     distance : scroll distance
#--------------------------------------------------------------------------
def scroll_down(distance)
   @display_y = @display_y + distance
end
#--------------------------------------------------------------------------
# * Scroll Left
#     distance : scroll distance
#--------------------------------------------------------------------------
def scroll_left(distance)
   @display_x = @display_x - distance
end
#--------------------------------------------------------------------------
# * Scroll Right
#     distance : scroll distance
#--------------------------------------------------------------------------
def scroll_right(distance)
   @display_x = @display_x + distance
end
#--------------------------------------------------------------------------
# * Scroll Up
#     distance : scroll distance
#--------------------------------------------------------------------------
def scroll_up(distance)
   @display_y = @display_y - distance
end
end

class Game_Player
def update
   # Remember whether or not moving in local variables
   last_moving = moving?
   # If moving, event running, move route forcing, and message window
   # display are all not occurring
   unless moving? or $game_system.map_interpreter.running? or
          @move_route_forcing or $game_temp.message_window_showing
     # Move player in the direction the directional button is being pressed
     case Input.dir4
     when 2
       move_down
     when 4
       move_left
     when 6
       move_right
     when 8
       move_up
     end
   end
   # Remember coordinates in local variables
   last_real_x = @real_x
   last_real_y = @real_y
   super
   # If character moves down and is positioned lower than the center
   # of the screen
   if @y % 15 == 0 and @real_y > last_real_y
     # Scroll map down
     $game_map.scroll_down(16 * 15)
   end
   # If character moves left and is positioned more let on-screen than
   # center
   if @x % 20 == 19 and last_real_x > @real_x
     # Scroll map left
     $game_map.scroll_left(16 * 20)
   end
   # If character moves right and is positioned more right on-screen than
   # center
   if @x % 20 == 0 and @real_x > last_real_x
     # Scroll map right
     $game_map.scroll_right(16 * 20)
   end
   # If character moves up and is positioned higher than the center
   # of the screen
   if @y % 15 == 14 and last_real_y > @real_y
     # Scroll map up
     $game_map.scroll_up(16 * 15)
   end
   # If not moving
   unless moving?
     # If player was moving last time
     if last_moving
       # Event determinant is via touch of same position event
       result = check_event_trigger_here([1,2])
       # If event which started does not exist
       if result == false
         # Disregard if debug mode is ON and ctrl key was pressed
         unless $DEBUG and Input.press?(Input::CTRL)
           # Encounter countdown
           if @encounter_count > 0
             @encounter_count -= 1
           end
         end
       end
     end
     # If C button was pressed
     if Input.trigger?(Input::C)
       # Same position and front event determinant
       check_event_trigger_here([0])
       check_event_trigger_there([0,1,2])
     end
   end
end
end

Warning from: nakuribonto look correct, your maps all need to be multiples of 20x15
}


Possibly Related Threads…
Thread Author Replies Views Last Post
  Emotion Script Ánemus 0 2,160 08-29-2008, 01:00 PM
Last Post: Ánemus
  Beran's iPod script Sniper308 0 2,571 08-09-2008, 01:00 PM
Last Post: Sniper308
  NeoABS & NeoSABS ()enemy processes script azrith001 0 2,331 04-04-2008, 01:00 PM
Last Post: azrith001
  Blur Effect Script Hadriel 0 2,527 01-30-2008, 01:00 PM
Last Post: Hadriel
  Warp Script Sheol 0 2,528 12-28-2007, 01:00 PM
Last Post: Sheol
  AIM Script Pack vgvgf 0 2,805 09-13-2007, 01:00 PM
Last Post: vgvgf
  Audio Encryption Script InfiniteSpawn 0 2,211 05-09-2007, 01:00 PM
Last Post: InfiniteSpawn
  Credits Script Remake avatarmonkeykirby 0 2,227 03-10-2007, 01:00 PM
Last Post: avatarmonkeykirby
  Leon Blade's Percent Script Leon Blade 0 2,223 03-05-2007, 01:00 PM
Last Post: Leon Blade
  Cogwheels original pixelmovement script!!! mechacrash 0 2,152 01-14-2007, 01:00 PM
Last Post: mechacrash



Users browsing this thread: