Advertisement
Guest User

Untitled

a guest
Oct 17th, 2015
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 31.86 KB | None | 0 0
  1. #==============================================================================
  2. # +++ MOG - Rin Title Screen (v1.0) +++
  3. #==============================================================================
  4. # By Moghunter
  5. # http://www.atelier-rgss.com/
  6. #==============================================================================
  7. # Tela de título animada com o tema da Rin Kaenbyou, para os fans de Touhou.
  8. # Naturalmente é possível customizar qualquer tipo de personagem.
  9. #==============================================================================
  10. module MOG_RIN_TITLE_SCRREN
  11. #Definição da velocidade de deslize da imagem de fundo.
  12. BACKGROUND_SCROLL_SPEED = [0,0]
  13. #Definição da quantidade de partículas.
  14. NUMBER_OF_PARTICLES = 20
  15. #Definição do tipo de blend da partícula.
  16. PARTICLES_BLEND_TYPE = 1
  17. #Definição da força do efeito wave na névoa.
  18. FIRE_WIND_POWER = 10
  19. #Definição da velocidade do efeito wave na névoa.
  20. FIRE_WIND_SPEED o = 1
  21. #Tipo de Blend.
  22. FIRE_BLEND_TYPE = 0
  23. #Definição da opacidade da névoa.
  24. FIRE_OPACITY = 255
  25. #Definição da posição do personagem.
  26. CHARACTER_POSITION = [0,0]
  27. #Definição da posição do comando.
  28. COMMAND_POSITION = [0,5]
  29. #Ativar efeito aura na imagem do personagem.
  30. CHARACTER_AURA_EFFECT = true
  31. #Ativar Logo.
  32. LOGO = true
  33. #Definição da duração do logo.
  34. LOGO_DURATION = 2
  35. end
  36.  
  37. #==============================================================================
  38. # ■ Scene Title
  39. #==============================================================================
  40. class Scene_Title
  41. include MOG_RIN_TITLE_SCRREN
  42.  
  43. #--------------------------------------------------------------------------
  44. # ● Main
  45. #--------------------------------------------------------------------------
  46. def main
  47. execute_logo if LOGO
  48. Graphics.update
  49. Graphics.freeze
  50. execute_setup
  51. execute_loop
  52. dispose
  53. end
  54.  
  55. #--------------------------------------------------------------------------
  56. # ● Execute Setup
  57. #--------------------------------------------------------------------------
  58. def execute_setup
  59. @phase = 0
  60. @active = false
  61. @continue_enabled = DataManager.save_file_exists?
  62. @com_index = @continue_enabled ? 1 : 0
  63. @com_index_old = @com_index
  64. @com_index_max = 2
  65. create_sprites
  66. end
  67.  
  68. #--------------------------------------------------------------------------
  69. # ● Execute Lopp
  70. #--------------------------------------------------------------------------
  71. def execute_loop
  72. Graphics.transition(60)
  73. play_title_music
  74. loop do
  75. Input.update
  76. update
  77. Graphics.update
  78. break if SceneManager.scene != self
  79. end
  80. end
  81.  
  82. end
  83.  
  84. #==============================================================================
  85. # ■ Scene Title
  86. #==============================================================================
  87. class Scene_Title
  88. include MOG_RIN_TITLE_SCRREN
  89.  
  90. #--------------------------------------------------------------------------
  91. # ● Execute Logo
  92. #--------------------------------------------------------------------------
  93. def execute_logo
  94. Graphics.transition
  95. create_logo
  96. loop do
  97. Input.update
  98. update_logo
  99. Graphics.update
  100. break if !@logo_phase
  101. end
  102. dispose_logo
  103. end
  104.  
  105. #--------------------------------------------------------------------------
  106. # ● Create Logo
  107. #--------------------------------------------------------------------------
  108. def create_logo
  109. @logo = Sprite.new
  110. @logo.z = 100
  111. @logo.opacity = 0
  112. @logo_duration = [0,60 * LOGO_DURATION]
  113. @logo.bitmap = Cache.title1("Logo") rescue nil
  114. @logo_phase = @logo.bitmap != nil ? true : false
  115. end
  116.  
  117. #--------------------------------------------------------------------------
  118. # ● Dispose Logo
  119. #--------------------------------------------------------------------------
  120. def dispose_logo
  121. Graphics.freeze
  122. @logo.bitmap.dispose if @logo.bitmap != nil
  123. @logo.dispose
  124. end
  125.  
  126. #--------------------------------------------------------------------------
  127. # ● Update Logo
  128. #--------------------------------------------------------------------------
  129. def update_logo
  130. return if !@logo_phase
  131. update_logo_command
  132. if @logo_duration[0] == 0
  133. @logo.opacity += 5
  134. @logo_duration[0] = 1 if @logo.opacity >= 255
  135. elsif @logo_duration[0] == 1
  136. @logo_duration[1] -= 1
  137. @logo_duration[0] = 2 if @logo_duration[1] <= 0
  138. else
  139. @logo.opacity -= 5
  140. @logo_phase = false if @logo.opacity <= 0
  141. end
  142. end
  143.  
  144. #--------------------------------------------------------------------------
  145. # ● Update Logo Command
  146. #--------------------------------------------------------------------------
  147. def update_logo_command
  148. return if @logo_duration[0] == 2
  149. if Input.trigger?(:C) or Input.trigger?(:B)
  150. @logo_duration = [2,0]
  151. end
  152. end
  153.  
  154. end
  155.  
  156. #==============================================================================
  157. # ■ Scene Title
  158. #==============================================================================
  159. class Scene_Title
  160.  
  161. #--------------------------------------------------------------------------
  162. # ● Create Sprites
  163. #--------------------------------------------------------------------------
  164. def create_sprites
  165. create_background
  166. create_fire_wind
  167. create_commands
  168. create_particles
  169. create_character
  170. create_layout
  171. create_skulls
  172. end
  173.  
  174. #--------------------------------------------------------------------------
  175. # ● Create Background
  176. #--------------------------------------------------------------------------
  177. def create_background
  178. @background = Plane.new
  179. @background.bitmap = Cache.title1("Background")
  180. @background_scroll = [BACKGROUND_SCROLL_SPEED[0],BACKGROUND_SCROLL_SPEED[1],0]
  181. @background.z = 0
  182. end
  183.  
  184. #--------------------------------------------------------------------------
  185. # ● Create Layout
  186. #--------------------------------------------------------------------------
  187. def create_layout
  188. @layout = Sprite.new
  189. @layout.bitmap = Cache.title1("Layout")
  190. @layout.z = 20
  191. @layout.opacity = 0
  192. end
  193.  
  194. #--------------------------------------------------------------------------
  195. # ● Create Commands
  196. #--------------------------------------------------------------------------
  197. def create_commands
  198. @com = []
  199. for index in 0...3
  200. @com.push(Title_Commands.new(nil,index))
  201. end
  202. end
  203.  
  204. #--------------------------------------------------------------------------
  205. # ● Create Skulls
  206. #--------------------------------------------------------------------------
  207. def create_skulls
  208. @skulls = []
  209. for index in 0...3
  210. @skulls.push(Title_Skull.new(nil,index))
  211. end
  212. end
  213.  
  214. #--------------------------------------------------------------------------
  215. # ● Create Fire Wind
  216. #--------------------------------------------------------------------------
  217. def create_fire_wind
  218. @fire_wind = []
  219. @fire_wind_image = Cache.title1("Fire_Wind")
  220. fire_max = 1
  221. for index in 0...fire_max
  222. range = (FIRE_WIND_POWER + 1 + (index * 2)) * 10
  223. range = 500 if range > 500
  224. speed = (FIRE_WIND_SPEED + 1 + (index * 2)) * 100
  225. speed = 1000 if speed > 1000
  226. @fire_wind.push(Sprite.new)
  227. @fire_wind[index].wave_amp = range
  228. @fire_wind[index].wave_length = Graphics.width
  229. @fire_wind[index].wave_speed = speed
  230. @fire_wind[index].bitmap = Bitmap.new(Graphics.width + (range * 2),Graphics.height)
  231. @fire_wind[index].bitmap.stretch_blt(@fire_wind[index].bitmap.rect, @fire_wind_image, @fire_wind_image.rect)
  232. @fire_wind[index].x = -range
  233. @fire_wind[index].z = 6
  234. @fire_wind[index].blend_type = FIRE_BLEND_TYPE
  235. @fire_wind[index].opacity = FIRE_OPACITY + (40 * index)
  236. end
  237. end
  238.  
  239. #--------------------------------------------------------------------------
  240. # ● Create Particles
  241. #--------------------------------------------------------------------------
  242. def create_particles
  243. @particles_sprite =[]
  244. for i in 0...NUMBER_OF_PARTICLES
  245. @particles_sprite.push(Particles_Title.new(nil))
  246. end
  247. end
  248.  
  249. #--------------------------------------------------------------------------
  250. # ● Create Character
  251. #--------------------------------------------------------------------------
  252. def create_character
  253. @character = Sprite.new
  254. @character.bitmap = Cache.title1("Character1")
  255. @character.ox = @character.bitmap.width / 2
  256. @character.oy = @character.bitmap.height / 2
  257. @character.x = CHARACTER_POSITION[0] + @character.ox
  258. @character.y = CHARACTER_POSITION[1] + @character.oy
  259. @character.z = 3
  260. @character.opacity = 0
  261. @character.visible = CHARACTER_AURA_EFFECT
  262. @char_zoom_speed = [0,0]
  263. @character2 = Sprite.new
  264. @character2.bitmap = Cache.title1("Character1")
  265. @character2.ox = @character.bitmap.width / 2
  266. @character2.oy = @character.bitmap.height / 2
  267. @character2.x = CHARACTER_POSITION[0] + @character.ox
  268. @character2.y = CHARACTER_POSITION[1] + @character.oy
  269. @character2.z = 2
  270. @character2.opacity = 80
  271. @character2.visible = CHARACTER_AURA_EFFECT
  272. @character3 = Sprite.new
  273. @character3.bitmap = Cache.title2("Character")
  274. @character3.ox = @character.bitmap.width / 2
  275. @character3.oy = @character.bitmap.height / 2
  276. @character3.x = CHARACTER_POSITION[0] + @character.ox
  277. @character3.y = CHARACTER_POSITION[1] + @character.oy
  278. @character3.z = 1
  279. @character3.opacity = 0
  280. @character3.visible = CHARACTER_AURA_EFFECT
  281. @char3_zoom_speed = [0,0]
  282. @character4 = Sprite.new
  283. @character4.bitmap = Cache.title2("Character")
  284. @character4.ox = @character.bitmap.width / 2
  285. @character4.oy = @character.bitmap.height / 2
  286. @character4.x = CHARACTER_POSITION[0] + @character.ox
  287. @character4.y = CHARACTER_POSITION[1] + @character.oy
  288. @character4.z = 2
  289. @character4.opacity = 0
  290. @character4.visible = CHARACTER_AURA_EFFECT
  291. end
  292.  
  293. end
  294.  
  295. #==============================================================================
  296. # ■ Particles Title
  297. #==============================================================================
  298. class Particles_Title < Sprite
  299.  
  300. include MOG_RIN_TITLE_SCRREN
  301.  
  302. #--------------------------------------------------------------------------
  303. # ● Initialize
  304. #--------------------------------------------------------------------------
  305. def initialize(viewport = nil)
  306. super(viewport)
  307. @speed_x = 0
  308. @speed_y = 0
  309. @speed_a = 0
  310. self.bitmap = Cache.title1("Particles")
  311. self.blend_type = PARTICLES_BLEND_TYPE
  312. self.z = 4
  313. reset_setting(true)
  314. end
  315.  
  316. #--------------------------------------------------------------------------
  317. # ● Reset Setting
  318. #--------------------------------------------------------------------------
  319. def reset_setting(initial = false)
  320. zoom = (50 + rand(100)) / 100.1
  321. self.zoom_x = zoom
  322. self.zoom_y = zoom
  323. self.x = rand(576) - 160
  324. self.y = initial == true ? rand(480) : 512
  325. self.opacity = 0
  326. @speed_y = -(1 + rand(3))
  327. @speed_x = (1 + rand(2))
  328. @speed_a = (1 + rand(2))
  329. end
  330.  
  331. #--------------------------------------------------------------------------
  332. # ● Dispose
  333. #--------------------------------------------------------------------------
  334. def dispose
  335. super
  336. self.bitmap.dispose if self.bitmap != nil
  337. end
  338.  
  339. #--------------------------------------------------------------------------
  340. # ● Update
  341. #--------------------------------------------------------------------------
  342. def update
  343. super
  344. self.x += @speed_x
  345. self.y += @speed_y
  346. # self.angle += @speed_a
  347. self.opacity += 5
  348. reset_setting if can_reset_setting?
  349. end
  350.  
  351. #--------------------------------------------------------------------------
  352. # ● Can Reset Setting
  353. #--------------------------------------------------------------------------
  354. def can_reset_setting?
  355. return true if self.y < -50
  356. return true if self.x > 576
  357. return false
  358. end
  359.  
  360. end
  361.  
  362. #==============================================================================
  363. # ■ Title Commands
  364. #==============================================================================
  365. class Title_Commands < Sprite
  366. include MOG_RIN_TITLE_SCRREN
  367.  
  368. #--------------------------------------------------------------------------
  369. # ● Initialize
  370. #--------------------------------------------------------------------------
  371. def initialize(viewport = nil,index)
  372. super(viewport)
  373. @index = index
  374. @float = [0,0,0]
  375. self.bitmap = Cache.title1("Command" + index.to_s)
  376. self.ox = self.bitmap.width / 2
  377. self.oy = self.bitmap.height / 2
  378. @org_pos = [COMMAND_POSITION[0] + self.ox,
  379. COMMAND_POSITION[1] + self.oy + (self.bitmap.height + 2) * index,
  380. self.ox - 24]
  381. self.x = @org_pos[0] - self.bitmap.width - (self.bitmap.width * index)
  382. self.y = @org_pos[1]
  383. self.z = 25
  384. @next_pos = [@org_pos[0],@org_pos[1]]
  385. end
  386.  
  387. #--------------------------------------------------------------------------
  388. # ● Dispose
  389. #--------------------------------------------------------------------------
  390. def dispose_sprites
  391. self.bitmap.dispose
  392. end
  393.  
  394. #--------------------------------------------------------------------------
  395. # ● Update
  396. #--------------------------------------------------------------------------
  397. def update_sprites(index,active)
  398. # return if !active
  399. if index == @index
  400. self.opacity += 10
  401. @next_pos[0] = @org_pos[0]
  402. # update_float_effect
  403. else
  404. self.opacity -= 10 if self.opacity > 120
  405. @next_pos[0] = @org_pos[2]
  406. @float = [0,0,0]
  407. end
  408. update_slide(0,@next_pos[0])
  409. update_slide(1,@org_pos[1] + @float[0])
  410. end
  411.  
  412. #--------------------------------------------------------------------------
  413. # ● Update Slide
  414. #--------------------------------------------------------------------------
  415. def update_slide(type,np)
  416. cp = type == 0 ? self.x : self.y
  417. sp = 3 + ((cp - np).abs / 10)
  418. if cp > np
  419. cp -= sp
  420. cp = np if cp < np
  421. elsif cp < np
  422. cp += sp
  423. cp = np if cp > np
  424. end
  425. self.x = cp if type == 0
  426. self.y = cp if type == 1
  427. end
  428.  
  429. #--------------------------------------------------------------------------
  430. # ● Update Float Effect
  431. #--------------------------------------------------------------------------
  432. def update_float_effect
  433. @float[2] += 1
  434. return if @float[2] < 5
  435. @float[2] = 0
  436. @float[1] += 1
  437. case @float[1]
  438. when 1..5
  439. @float[0] -= 1
  440. when 6..15
  441. @float[0] += 1
  442. when 16..20
  443. @float[0] -= 1
  444. else
  445. @float[0] = 0
  446. @float[1] = 0
  447. end
  448. end
  449.  
  450. end
  451.  
  452. #==============================================================================
  453. # ■ Title Skull
  454. #==============================================================================
  455. class Title_Skull < Sprite
  456. include MOG_RIN_TITLE_SCRREN
  457.  
  458. #--------------------------------------------------------------------------
  459. # ● Initialize
  460. #--------------------------------------------------------------------------
  461. def initialize(viewport = nil,index)
  462. super(viewport)
  463. @index = index
  464. @float = [0,0,0]
  465. @move_phase = @index
  466. self.bitmap = Cache.title1("Skull")
  467. self.ox = self.bitmap.width / 2
  468. self.oy = self.bitmap.height / 2
  469. @org_pos = [Graphics.width + self.ox, 150 + self.oy,
  470. -self.ox]
  471. self.x = @index == 0 ? @org_pos[0] : @org_pos[2]
  472. self.y = @org_pos[1]
  473. self.z = 15
  474. self.blend_type = 0
  475. @next_pos = [@org_pos[0],@org_pos[1]]
  476. z1 = Graphics.width / 3
  477. z2 = z1 * 2
  478. @zoom_phase = [0,z2,@org_pos[0]]
  479. @fade_phase = 0
  480. setup_move
  481. if @index == 2
  482. @org_pos[0] = 150
  483. @org_pos[1] = 200
  484. self.x = @org_pos[0]
  485. self.y = @org_pos[1]
  486. self.mirror = false
  487. self.zoom_x = 1.00
  488. self.zoom_y = 1.00
  489. self.angle = 30
  490. self.z = 15
  491. end
  492. end
  493.  
  494. #--------------------------------------------------------------------------
  495. # ● Dispose
  496. #--------------------------------------------------------------------------
  497. def dispose_sprites
  498. self.bitmap.dispose
  499. end
  500.  
  501. #--------------------------------------------------------------------------
  502. # ● Update
  503. #--------------------------------------------------------------------------
  504. def update_sprites(active)
  505. # return if !active
  506. update_float_effect
  507. update_move unless @index == 2
  508. update_slide(1,@org_pos[1] + @float[0])
  509. end
  510.  
  511. #--------------------------------------------------------------------------
  512. # ● Setup Move
  513. #--------------------------------------------------------------------------
  514. def setup_move
  515. # self.opacity = 100 + rand(155)
  516. # @fade_phase = 0
  517. if @move_phase == 0
  518. @move_phase = 1
  519. self.x = @org_pos[2]
  520. self.mirror = true
  521. self.z = 15
  522. self.zoom_x = 0.50
  523. self.zoom_y = 0.50
  524. @org_pos[1] = 100 + self.oy + rand(100)
  525. else
  526. @move_phase = 0
  527. self.x = @org_pos[0]
  528. self.mirror = false
  529. self.z = 2
  530. self.zoom_x = 1.00
  531. self.zoom_y = 1.00
  532. @org_pos[1] = -50 + self.oy + rand(100)
  533. end
  534. end
  535.  
  536. #--------------------------------------------------------------------------
  537. # ● Update Move
  538. #--------------------------------------------------------------------------
  539. def update_move
  540. if @move_phase == 0
  541. self.x -= 1
  542. if self.x.between?(@zoom_phase[1],@zoom_phase[2])
  543. self.zoom_x -= 0.001
  544. self.zoom_x = 0.50 if self.zoom_x < 0.50
  545. else
  546. self.zoom_x += 0.001
  547. self.zoom_x = 1.00 if self.zoom_x > 1.00
  548. end
  549. setup_move if self.x <= @org_pos[2]
  550. else
  551. self.x += 1
  552. if self.x.between?(@zoom_phase[0],@zoom_phase[1])
  553. self.zoom_x += 0.001
  554. self.zoom_x = 1.00 if self.zoom_x > 1.00
  555. else
  556. self.zoom_x -= 0.001
  557. self.zoom_x = 0.50 if self.zoom_x < 0.50
  558. end
  559. setup_move if self.x >= @org_pos[0]
  560. end
  561. self.zoom_y = self.zoom_x
  562. # update_fade
  563. end
  564.  
  565. #--------------------------------------------------------------------------
  566. # ● Update Fade
  567. #--------------------------------------------------------------------------
  568. def update_fade
  569. if @fade_phase == 0
  570. self.opacity -= 5
  571. @fade_phase = 1 if self.opacity == 0
  572. else
  573. self.opacity += 5
  574. @fade_phase = 0 if self.opacity == 255
  575. end
  576. end
  577.  
  578. #--------------------------------------------------------------------------
  579. # ● Update Slide
  580. #--------------------------------------------------------------------------
  581. def update_slide(type,np)
  582. cp = type == 0 ? self.x : self.y
  583. sp = 3 + ((cp - np).abs / 10)
  584. if cp > np
  585. cp -= sp
  586. cp = np if cp < np
  587. elsif cp < np
  588. cp += sp
  589. cp = np if cp > np
  590. end
  591. self.x = cp if type == 0
  592. self.y = cp if type == 1
  593. end
  594.  
  595. #--------------------------------------------------------------------------
  596. # ● Update Float Effect
  597. #--------------------------------------------------------------------------
  598. def update_float_effect
  599. @float[2] += 1
  600. return if @float[2] < 4
  601. @float[2] = 0
  602. @float[1] += 1
  603. case @float[1]
  604. when 1..5
  605. @float[0] -= 1
  606. when 6..15
  607. @float[0] += 1
  608. when 16..20
  609. @float[0] -= 1
  610. else
  611. @float[0] = 0
  612. @float[1] = 0
  613. end
  614. end
  615.  
  616. end
  617.  
  618. #==============================================================================
  619. # ■ Scene Title
  620. #==============================================================================
  621. class Scene_Title
  622.  
  623. #--------------------------------------------------------------------------
  624. # ● Dispose
  625. #--------------------------------------------------------------------------
  626. def dispose
  627. Graphics.freeze
  628. dispose_background
  629. dispose_fire_wind
  630. dispose_particles
  631. dispose_character
  632. dispose_layout
  633. dispose_commands
  634. dispose_skulls
  635. end
  636.  
  637. #--------------------------------------------------------------------------
  638. # ● Dispose Background
  639. #--------------------------------------------------------------------------
  640. def dispose_background
  641. @background.bitmap.dispose
  642. @background.dispose
  643. end
  644.  
  645. #--------------------------------------------------------------------------
  646. # ● Dispose Layout
  647. #--------------------------------------------------------------------------
  648. def dispose_layout
  649. @layout.bitmap.dispose
  650. @layout.dispose
  651. end
  652.  
  653. #--------------------------------------------------------------------------
  654. # ● Dispose Commands
  655. #--------------------------------------------------------------------------
  656. def dispose_commands
  657. @com.each {|sprite| sprite.dispose_sprites }
  658. end
  659.  
  660. #--------------------------------------------------------------------------
  661. # ● Dispose Skulls
  662. #--------------------------------------------------------------------------
  663. def dispose_skulls
  664. @skulls.each {|sprite| sprite.dispose_sprites }
  665. end
  666.  
  667. #--------------------------------------------------------------------------
  668. # ● Dispose Fire Wind
  669. #--------------------------------------------------------------------------
  670. def dispose_fire_wind
  671. @fire_wind.each {|sprite| sprite.bitmap.dispose }
  672. @fire_wind.each {|sprite| sprite.dispose }
  673. @fire_wind_image.dispose
  674. end
  675.  
  676. #--------------------------------------------------------------------------
  677. # ● Dispose Particles
  678. #--------------------------------------------------------------------------
  679. def dispose_particles
  680. @particles_sprite.each {|sprite| sprite.dispose }
  681. end
  682.  
  683. #--------------------------------------------------------------------------
  684. # ● Dispose Character
  685. #--------------------------------------------------------------------------
  686. def dispose_character
  687. @character.bitmap.dispose
  688. @character.dispose
  689. @character2.bitmap.dispose
  690. @character2.dispose
  691. @character3.bitmap.dispose
  692. @character3.dispose
  693. @character4.bitmap.dispose
  694. @character4.dispose
  695. end
  696.  
  697. end
  698.  
  699. #==============================================================================
  700. # ■ Scene Title
  701. #==============================================================================
  702. class Scene_Title
  703.  
  704. #--------------------------------------------------------------------------
  705. # ● Update Sprites
  706. #--------------------------------------------------------------------------
  707. def update_sprites
  708. update_background
  709. update_fire_wind
  710. update_particles
  711. update_character
  712. update_commands
  713. update_skulls
  714. end
  715.  
  716. #--------------------------------------------------------------------------
  717. # ● Update Background
  718. #--------------------------------------------------------------------------
  719. def update_background
  720. @layout.opacity += 5
  721. @background_scroll[2] += 1
  722. return if @background_scroll[2] < 4
  723. @background_scroll[2] = 0
  724. @background.ox += @background_scroll[0]
  725. @background.oy += @background_scroll[1]
  726. end
  727.  
  728. #--------------------------------------------------------------------------
  729. # ● Update Commands
  730. #--------------------------------------------------------------------------
  731. def update_commands
  732. @com.each {|sprite| sprite.update_sprites(@com_index,@active)}
  733. end
  734.  
  735. #--------------------------------------------------------------------------
  736. # ● Update Skulls
  737. #--------------------------------------------------------------------------
  738. def update_skulls
  739. @skulls.each {|sprite| sprite.update_sprites(@active)}
  740. end
  741.  
  742. #--------------------------------------------------------------------------
  743. # ● Update Fire Wind
  744. #--------------------------------------------------------------------------
  745. def update_fire_wind
  746. @fire_wind.each {|sprite| sprite.update }
  747. end
  748.  
  749. #--------------------------------------------------------------------------
  750. # ● Update Particles
  751. #--------------------------------------------------------------------------
  752. def update_particles
  753. @particles_sprite.each {|sprite| sprite.update }
  754. end
  755.  
  756. #--------------------------------------------------------------------------
  757. # ● Update Character
  758. #--------------------------------------------------------------------------
  759. def update_character
  760. @character.opacity += 5
  761. return if !@character2.visible
  762. if @char_zoom_speed[1] > 0
  763. @char_zoom_speed[1] -= 1
  764. @character2.opacity = 0
  765. @character2.opacity = 255 if @char_zoom_speed[1] == 0
  766. end
  767. return if @char_zoom_speed[1] > 0
  768. @char_zoom_speed[0] += 1
  769. return if @char_zoom_speed[0] < 5
  770. @char_zoom_speed[0] = 0
  771. @character2.zoom_x += 0.01
  772. @character2.opacity -= 5
  773. if @character2.opacity <= 0
  774. @character2.zoom_x = 1.00
  775. @character2.opacity = 0
  776. @char_zoom_speed[1] = 120
  777. end
  778. @character2.zoom_y = @character2.zoom_x
  779.  
  780. @character3.opacity += 5
  781. return if !@character4.visible
  782. if @char_zoom_speed[1] > 0
  783. @char_zoom_speed[1] -= 1
  784. @character4.opacity = 0
  785. @character4.opacity = 255 if @char_zoom_speed[1] == 0
  786. end
  787. return if @char3_zoom_speed[1] > 0
  788. @char3_zoom_speed[0] += 1
  789. return if @char_zoom_speed[0] < 5
  790. @char3_zoom_speed[0] = 0
  791. @character4.zoom_x += 0.01
  792. @character4.opacity -= 5
  793. if @character4.opacity <= 0
  794. @character4.zoom_x = 1.00
  795. @character4.opacity = 0
  796. @char_zoom_speed[1] = 120
  797. end
  798. @character4.zoom_y = @character4.zoom_x
  799.  
  800. end
  801.  
  802. end
  803.  
  804. #==============================================================================
  805. # ■ Scene Title
  806. #==============================================================================
  807. class Scene_Title
  808.  
  809. #--------------------------------------------------------------------------
  810. # ● Update
  811. #--------------------------------------------------------------------------
  812. def update
  813. update_command
  814. update_sprites
  815. end
  816.  
  817. end
  818.  
  819. #==============================================================================
  820. # ■ Scene Title
  821. #==============================================================================
  822. class Scene_Title
  823.  
  824. #--------------------------------------------------------------------------
  825. # ● Update Command
  826. #--------------------------------------------------------------------------
  827. def update_command
  828. update_key
  829. refresh_index if @com_index_old != @com_index
  830. end
  831.  
  832. #--------------------------------------------------------------------------
  833. # ● Update Key
  834. #--------------------------------------------------------------------------
  835. def update_key
  836. if Input.trigger?(:DOWN)
  837. add_index(1)
  838. elsif Input.trigger?(:UP)
  839. add_index(-1)
  840. elsif Input.trigger?(:C)
  841. select_command
  842. end
  843. end
  844.  
  845. #--------------------------------------------------------------------------
  846. # ● Select Command
  847. #--------------------------------------------------------------------------
  848. def select_command
  849. # if !@active
  850. # @active = true
  851. # return
  852. # end
  853. case @com_index
  854. when 0; command_new_game
  855. when 1; command_continue
  856. when 2; command_shutdown
  857. end
  858. end
  859.  
  860. #--------------------------------------------------------------------------
  861. # ● Add Index
  862. #--------------------------------------------------------------------------
  863. def add_index(value = 0)
  864. @com_index += value
  865. if !@continue_enabled and @com_index == 1
  866. @com_index = 2 if value == 1
  867. @com_index = 0 if value == -1
  868. end
  869. @com_index = 0 if @com_index > @com_index_max
  870. @com_index = @com_index_max if @com_index < 0
  871. end
  872.  
  873. #--------------------------------------------------------------------------
  874. # ● Refresh Index
  875. #--------------------------------------------------------------------------
  876. def refresh_index
  877. @com_index_old = @com_index
  878. Sound.play_cursor
  879. end
  880.  
  881. #--------------------------------------------------------------------------
  882. # ● Command New Game
  883. #--------------------------------------------------------------------------
  884. def command_new_game
  885. Sound.play_ok
  886. DataManager.setup_new_game
  887. fadeout_all
  888. $game_map.autoplay
  889. SceneManager.goto(Scene_Map)
  890. end
  891.  
  892. #--------------------------------------------------------------------------
  893. # ● Command Continue
  894. #--------------------------------------------------------------------------
  895. def command_continue
  896. if !@continue_enabled
  897. Sound.play_cancel
  898. return
  899. else
  900. Sound.play_ok
  901. end
  902. SceneManager.call(Scene_Load)
  903. end
  904.  
  905. #--------------------------------------------------------------------------
  906. # ● Command Shutdown
  907. #--------------------------------------------------------------------------
  908. def command_shutdown
  909. Sound.play_ok
  910. fadeout_all
  911. SceneManager.exit
  912. end
  913.  
  914. #--------------------------------------------------------------------------
  915. # ● play_title_music
  916. #--------------------------------------------------------------------------
  917. def play_title_music
  918. $data_system.title_bgm.play
  919. RPG::BGS.stop
  920. RPG::ME.stop
  921. end
  922.  
  923. #--------------------------------------------------------------------------
  924. # ● Fadeout_all
  925. #--------------------------------------------------------------------------
  926. def fadeout_all(time = 1000)
  927. RPG::BGM.fade(time)
  928. RPG::BGS.fade(time)
  929. RPG::ME.fade(time)
  930. Graphics.fadeout(time * Graphics.frame_rate / 1000)
  931. RPG::BGM.stop
  932. RPG::BGS.stop
  933. RPG::ME.stop
  934. end
  935.  
  936. end
  937.  
  938. $mog_rgss3_rin_title_screen = true
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement