Facebook
From Zbigniew huj, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 139
  1. #==============================================================================
  2. #
  3. # -- NerdiGaming - Title Menu
  4. # -- Last Updated: November 9, 2012
  5. #
  6. #==============================================================================
  7. # - Introduction
  8. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  9. # This is a very simple script that allows you to use images for your title
  10. # menu.
  11. #
  12. #==============================================================================
  13. # - Instructions
  14. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  15. # To install this script, open up your script editor and copy/paste this script
  16. # to an open slot below Materials but above Main. Remember to save.
  17. #
  18. #==============================================================================
  19. # - Terms of Use
  20. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  21. # - You MAY NOT re-distribute this script or any attached material to any
  22. # location without my permission.
  23. # - No credit required, just grab the script and go.
  24. # - No need for commercial permission, this script is available to use in any project.
  25. #
  26. #==============================================================================
  27. # - Updates
  28. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  29. # Version 1.2 - Fixed a Bug: If players held down an input button the menu
  30. # would not update.
  31. # - Removed unecessary overwrites; improving compatability
  32. # slightly.
  33. # - Removed some unecessary code.
  34. # Version 1.1 - Fixed a Bug: If a save file was present, New Game would be
  35. # selected instead of Continue.
  36. # Version 1 - Script Completed.
  37. #==============================================================================
  38.  
  39. module TitleMenu
  40.  
  41. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  42. # - Padding -
  43. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  44. # Padding increases the distance between the New Game and Exit Game images
  45. # from the Continue Game image.
  46. #
  47. # New Game
  48. # -> <- This Space
  49. # Continue Game
  50. # -> <- This Space
  51. # Exit Game
  52. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  53. PADDING = 5 # Default: 5
  54.  
  55. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  56. # - Offset -
  57. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  58. # Offset moves the menu images in different directions.
  59. #
  60. # Positive Y = Moves the Menu Up Example: 50
  61. # Negative Y = Moves the Menu Down Example: -50
  62. #
  63. # Positive X = Moves the Menu Left Example: 50
  64. # Negative X = Moves the Menu Right Example: -50
  65. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  66. Y_OFFSET = 0 # Default: 0
  67. X_OFFSET = 0 # Default: 0
  68.  
  69. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  70. # - Image Names -
  71. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  72. # This is where you specify what you want your images to be called.
  73. #
  74. # The images need to be placed in your Project\Graphics\System\ Folder.
  75. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  76. NEW_IMAGE = "NewGame"
  77. NEW_SELECTED_IMAGE = "NewGameSelected"
  78. CONTINUE_IMAGE = "ContinueGame"
  79. CONTINUE_SELECTED_IMAGE = "ContinueGameSelected"
  80. EXIT_IMAGE = "ExitGame"
  81. EXIT_SELECTED_IMAGE = "ExitGameSelected"
  82.  
  83. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  84. # - Continue Opacity -
  85. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  86. # Continue Opacity is how transparent the continue image will be when there
  87. # are no save files present or if the continue option is disabled for some
  88. # reason.
  89. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  90. CONTINUE_DISABLED_OPACITY = 100 # Default: 100
  91.  
  92. end # TitleMenu
  93.  
  94. class Scene_Title < Scene_Base
  95. #--------------------------------------------------------------------------
  96. # * Start processing
  97. #--------------------------------------------------------------------------
  98. def start
  99. super
  100. SceneManager.clear
  101. Graphics.freeze
  102. check_continue
  103. create_background
  104. create_command_window
  105. play_title_music
  106. end
  107. #--------------------------------------------------------------------------
  108. # * Termination Processing
  109. #--------------------------------------------------------------------------
  110. def terminate
  111. super
  112. SceneManager.snapshot_for_background
  113. dispose_background
  114. end
  115. #--------------------------------------------------------------------------
  116. # * Check User Input
  117. #--------------------------------------------------------------------------
  118. def check_input
  119. case @command_window.index
  120. when 0 # New Game Is Selected
  121. @spriteNewGameSelected.z = 15
  122. @spriteNewGame.z = -2
  123.  
  124. @spriteContinueGameSelected.z = -2
  125. @spriteContinueGame.z = 10
  126.  
  127. @spriteExitGameSelected.z = -2
  128. @spriteExitGame.z = 10
  129. when 1 # Continue Game Is Selected
  130. @spriteNewGameSelected.z = -2
  131. @spriteNewGame.z = 10
  132.  
  133. @spriteContinueGameSelected.z = 15
  134. @spriteContinueGame.z = -2
  135.  
  136. @spriteExitGameSelected.z = -2
  137. @spriteExitGame.z = 10
  138. when 2 # Exit Game Is Selected
  139. @spriteNewGameSelected.z = -2
  140. @spriteNewGame.z = 10
  141.  
  142. @spriteContinueGameSelected.z = -2
  143. @spriteContinueGame.z = 10
  144.  
  145. @spriteExitGameSelected.z = 15
  146. @spriteExitGame.z = -2
  147. end
  148. end
  149. #--------------------------------------------------------------------------
  150. # * Frame Update
  151. #--------------------------------------------------------------------------
  152. def update
  153. super
  154.  
  155. if Input.trigger?(:DOWN)
  156. check_input
  157. end
  158. if Input.repeat?(:DOWN)
  159. check_input
  160. end
  161.  
  162. if Input.trigger?(:UP)
  163. check_input
  164. end
  165. if Input.repeat?(:UP)
  166. check_input
  167. end
  168. end
  169. #--------------------------------------------------------------------------
  170. # * Determine if Continue is Enabled
  171. #--------------------------------------------------------------------------
  172. def check_continue
  173. @continue_enabled = (Dir.glob('Save*.rvdata2').size > 0)
  174. end
  175. #--------------------------------------------------------------------------
  176. # * Create Background
  177. #--------------------------------------------------------------------------
  178. def create_background
  179. @sprite1 = Sprite.new
  180. @sprite1.bitmap = Cache.title1( $data_system.title1_name )
  181. @sprite2 = Sprite.new
  182. @sprite2.bitmap = Cache.title2( $data_system.title2_name )
  183. center_sprite( @sprite1 )
  184. center_sprite( @sprite2 )
  185.  
  186. # Creates The Continue Game Image
  187. @spriteContinueGame = Sprite.new
  188. @spriteContinueGame.bitmap = Cache.system( TitleMenu::CONTINUE_IMAGE )
  189. @spriteContinueGame.x = ( ( Graphics.width / 2 ) - (@spriteContinueGame.bitmap.width / 2 ) )
  190. @spriteContinueGame.y = ( ( Graphics.height / 2 ) - (@spriteContinueGame.bitmap.height / 2 ) )
  191. @spriteContinueGame.z = 10
  192.  
  193. # Creates The Continue Game Selected Image
  194. @spriteContinueGameSelected = Sprite.new
  195. @spriteContinueGameSelected.bitmap = Cache.system( TitleMenu::CONTINUE_SELECTED_IMAGE )
  196. @spriteContinueGameSelected.x = ( ( Graphics.width / 2 ) - ( @spriteContinueGameSelected.bitmap.width / 2 ) )
  197. @spriteContinueGameSelected.y = ( ( Graphics.height / 2 ) - ( @spriteContinueGameSelected.bitmap.height / 2 ) )
  198. @spriteContinueGameSelected.z = -2
  199.  
  200. # Applies The Opacity If Continue Is Disabled
  201. if !@continue_enabled
  202. @spriteContinueGame.opacity = TitleMenu::CONTINUE_DISABLED_OPACITY
  203. @spriteContinueGameSelected.opacity = TitleMenu::CONTINUE_DISABLED_OPACITY
  204. end
  205.  
  206. # Creates The New Game Image
  207. @spriteNewGame = Sprite.new
  208. @spriteNewGame.bitmap = Cache.system( TitleMenu::NEW_IMAGE )
  209. @spriteNewGame.x = ( ( Graphics.width / 2 ) - ( @spriteNewGame.bitmap.width / 2 ) )
  210. @spriteNewGame.y = ( ( Graphics.height / 2 ) - ( @spriteNewGame.bitmap.height / 2 ) ) - ( @spriteContinueGame.bitmap.height + TitleMenu::PADDING )
  211. @spriteNewGame.z = -2
  212.  
  213. # Creates The New Game Selected Image
  214. @spriteNewGameSelected = Sprite.new
  215. @spriteNewGameSelected.bitmap = Cache.system( TitleMenu::NEW_SELECTED_IMAGE )
  216. @spriteNewGameSelected.x = ( ( Graphics.width / 2 ) - ( @spriteNewGameSelected.bitmap.width / 2 ) )
  217. @spriteNewGameSelected.y = ( ( Graphics.height / 2 ) - ( @spriteNewGameSelected.bitmap.height / 2 ) ) - ( @spriteContinueGame.bitmap.height + TitleMenu::PADDING )
  218. @spriteNewGameSelected.z = -2
  219.  
  220. # Creates The Exit Game Image
  221. @spriteExitGame = Sprite.new
  222. @spriteExitGame.bitmap = Cache.system( TitleMenu::EXIT_IMAGE )
  223. @spriteExitGame.x = ( ( Graphics.width / 2 ) - ( @spriteExitGame.bitmap.width / 2 ) )
  224. @spriteExitGame.y = ( ( Graphics.height / 2 ) - ( @spriteExitGame.bitmap.height / 2 ) ) + ( @spriteContinueGame.bitmap.height + TitleMenu::PADDING )
  225. @spriteExitGame.z = 10
  226.  
  227. # Creates The Exit Game Selected Image
  228. @spriteExitGameSelected = Sprite.new
  229. @spriteExitGameSelected.bitmap = Cache.system( TitleMenu::EXIT_SELECTED_IMAGE )
  230. @spriteExitGameSelected.x = ( ( Graphics.width / 2 ) - ( @spriteExitGameSelected.bitmap.width / 2 ) )
  231. @spriteExitGameSelected.y = ( ( Graphics.height / 2 ) - ( @spriteExitGameSelected.bitmap.height / 2 ) ) + ( @spriteContinueGame.bitmap.height + TitleMenu::PADDING )
  232. @spriteExitGameSelected.z = -2
  233.  
  234. # Applies The Offset To The Continue Game Images
  235. @spriteContinueGame.x -= TitleMenu::X_OFFSET
  236. @spriteContinueGame.y -= TitleMenu::Y_OFFSET
  237. @spriteContinueGameSelected.x -= TitleMenu::X_OFFSET
  238. @spriteContinueGameSelected.y -= TitleMenu::Y_OFFSET
  239.  
  240. # Applies The Offset To The New Game Images
  241. @spriteNewGame.x -= TitleMenu::X_OFFSET
  242. @spriteNewGame.y -= TitleMenu::Y_OFFSET
  243. @spriteNewGameSelected.x -= TitleMenu::X_OFFSET
  244. @spriteNewGameSelected.y -= TitleMenu::Y_OFFSET
  245.  
  246. # Applies The Offset To The Exit Game Images
  247. @spriteExitGame.x -= TitleMenu::X_OFFSET
  248. @spriteExitGame.y -= TitleMenu::Y_OFFSET
  249. @spriteExitGameSelected.x -= TitleMenu::X_OFFSET
  250. @spriteExitGameSelected.y -= TitleMenu::Y_OFFSET
  251. end
  252. #--------------------------------------------------------------------------
  253. # * Dispose Background
  254. #--------------------------------------------------------------------------
  255. def dispose_background
  256. @sprite1.bitmap.dispose
  257. @sprite1.dispose
  258. @sprite2.bitmap.dispose
  259. @sprite2.dispose
  260.  
  261. @spriteNewGame.bitmap.dispose
  262. @spriteNewGame.dispose
  263. @spriteNewGameSelected.bitmap.dispose
  264. @spriteNewGameSelected.dispose
  265.  
  266. @spriteContinueGame.bitmap.dispose
  267. @spriteContinueGame.dispose
  268. @spriteContinueGameSelected.bitmap.dispose
  269. @spriteContinueGameSelected.dispose
  270.  
  271. @spriteExitGame.bitmap.dispose
  272. @spriteExitGame.dispose
  273. @spriteExitGameSelected.bitmap.dispose
  274. @spriteExitGameSelected.dispose
  275. end
  276. #--------------------------------------------------------------------------
  277. # * Create Command Window
  278. #--------------------------------------------------------------------------
  279. def create_command_window
  280. @command_window = Window_TitleCommand.new
  281. @command_window.set_handler(:new_game, method(:command_new_game))
  282. @command_window.set_handler(:continue, method(:command_continue))
  283. @command_window.set_handler(:shutdown, method(:command_shutdown))
  284. @command_window.z = -2
  285.  
  286. case @command_window.index
  287. when 0 # New Game Is Selected
  288. @spriteNewGameSelected.z = 15
  289. @spriteNewGame.z = -2
  290.  
  291. @spriteContinueGameSelected.z = -2
  292. @spriteContinueGame.z = 10
  293.  
  294. @spriteExitGameSelected.z = -2
  295. @spriteExitGame.z = 10
  296. when 1 # Continue Game Is Selected
  297. @spriteNewGameSelected.z = -2
  298. @spriteNewGame.z = 10
  299.  
  300. @spriteContinueGameSelected.z = 15
  301. @spriteContinueGame.z = -2
  302.  
  303. @spriteExitGameSelected.z = -2
  304. @spriteExitGame.z = 10
  305. when 2 # Exit Game Is Selected
  306. @spriteNewGameSelected.z = -2
  307. @spriteNewGame.z = 10
  308.  
  309. @spriteContinueGameSelected.z = -2
  310. @spriteContinueGame.z = 10
  311.  
  312. @spriteExitGameSelected.z = 15
  313. @spriteExitGame.z = -2
  314. end
  315. end
  316. #--------------------------------------------------------------------------
  317. # * [Continue] Command
  318. #--------------------------------------------------------------------------
  319. def command_continue
  320. if @continue_enabled
  321. close_command_window
  322. SceneManager.call(Scene_Load)
  323. end
  324. end
  325. end # Scene_Title