搜索附件  
同能RPG制作大师 附件中心 同能RM技术讨论区 RPG Maker XP 讨论区 【XP】图标菜单优化+地图名: d2.gif

【XP】图标菜单优化+地图名: d2.gif

 

【XP】图标菜单优化+地图名:
好吧我其实是大自然的搬运工!效果图来也

好了那啥啥的不说了
方法:
插入到main前面创建新的然后粘贴不用我多说吧- -
358行请改为@disabled = [ false, false, false, false, false, false ]
RUBY 代码
  1. #===================================================
  2. # ■ Ring Menu - Show Player Location - Release #1 (Enhanced By Dubealex)
  3. #===================================================
  4. # For more infos and update, visit:
  5. # asylum.dubealex.com
  6. #
  7. # Original Ring Menu by: 和希 (From XRXS)
  8. # Original Edit and Fix by: Maki
  9. # Show Player Location Version by: Dubealex
  10. #
  11. # You can customize this script at line #35 - Have fun !!
  12. # If you want to show more stuff, its easy to do, you can try to ask in the forum.
  13. #
  14. # [email][email protected][/email]
  15. #===================================================
  16. #===================================================
  17. # ▼ CLASS Scene_Menu Begins
  18. #===================================================
  19. class Scene_Menu
  20. #--------------------------------------------------------------------------
  21. # œ ƒIƒuƒWƒFƒNƒg‰Šú‰»
  22. #     menu_index : ƒRƒ}ƒ“ƒh‚̃J[ƒ\ƒ‹‰ŠúˆÊ’u
  23. #--------------------------------------------------------------------------
  24. def initialize(menu_index = 0)
  25.    @menu_index = menu_index
  26.    $location_text=[]
  27.    $window_size=[]
  28.    $ring_menu_text=[]
  29.    $chara_select=[]
  30.    @window_opacity=[]
  31.    @chara_select=[]
  32.    @window_position=[]
  33.     #--------------------------------------------------------------------------------------------------
  34.     # ■ Ring Menu Customization Section: (By Dubealex)
  35.     #--------------------------------------------------------------------------------------------------
  36.     # Those variables defines how the script will act.
  37.     # Simply change the value by those you want.
  38.     # Remember that changing the font size has its limitation due to text space allocation.
  39.     #
  40.     # ▼ TEXT SETTINGS FOR SHOW PLAYER LOCATION WINDOW:
  41.     $location_text[0]="Tahoma"      # Font Type
  42.     $location_text[1]=22                # Font Size
  43.     $location_text[2]=6                  # Location Title Color
  44.     $location_text[4]=0                  # Map Name Color
  45.     $location_text[3]="Location:"     # Customize the "Location" Title Text
  46.     # ▼ SHOW LOCATION WINDOW SETTINS:
  47.     @show_location_window=true                       #Set to false to not use it !
  48.     @window_opacity[0]=255                             # Border Opacity
  49.     @window_opacity[1]=130                             # Background Opacity
  50.     $window_location_skin="001-Blue01"            # Window Skin
  51.     @window_position[0]=20                             # X Axis Position
  52.     @window_position[1]=20                             # Y Axis Position
  53.     $window_size[0]=160                                  # Lengh
  54.     $window_size[1]=96                                    # Heigh
  55.     # ▼  TEXT SETTINGS FOR INSIDE THE RING MENU:
  56.     $ring_menu_text[0]="Tahoma"      # Font Type
  57.     $ring_menu_text[7]=0                  # Font Color
  58.     $ring_menu_text[8]=22                # Font Size
  59.     $ring_menu_text[1]="Items"         # Items Menu Text
  60.     $ring_menu_text[2]="Skills"          # Skills Menu Text
  61.     $ring_menu_text[3]="Equip"         # Equip Menu Text
  62.     $ring_menu_text[4]="Stats"          # Stats Menu Text
  63.     $ring_menu_text[5]="Save"          # Save Menu Text
  64.     $ring_menu_text[6]="Quit"           # Quit Menu Text
  65.     # ▼  CHARACTER SELECTION WINDOW SETTINGS :
  66.     @chara_select[0]=400               # X Axis Position
  67.     @chara_select[1]=0                  # Y Axis Position
  68.     $chara_select[0]="Tahoma"       # Font Type
  69.     $chara_select[1]=0                   # Font Color
  70.     $chara_select[5]=22                  # Font Size
  71.     $chara_select[2]=255               # Window Border Opacity
  72.     $chara_select[3]=130               # Window Background Opacity
  73.     $chara_select[4]="001-Blue01"  # Window Skin to use
  74.    #--------------------------------------------------------------------------------------------------
  75. end
  76. #--------------------------------------------------------------------------
  77. # œ ƒƒCƒ“ˆ—
  78. #--------------------------------------------------------------------------
  79. def main
  80.    # Show Player Location Feature:
  81.    if@show_location_window==true   
  82.    @window_location = Window_Location.new
  83.       @window_location.x = @window_position[0]
  84.       @window_location.y = @window_position[1]
  85.       @window_location.opacity = @window_opacity[0]
  86.       @window_location.back_opacity = @window_opacity[1]
  87.       end
  88.    #End of Show Player Location
  89.    # ƒXƒvƒ‰ƒCƒgƒZƒbƒg‚ðì¬
  90.    @spriteset = Spriteset_Map.new
  91.    # ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ðì¬
  92.    px = $game_player.screen_x - 15
  93.    py = $game_player.screen_y - 24
  94.    @command_window = Window_RingMenu.new(px,py)
  95.    @command_window.index = @menu_index
  96.    # ƒp[ƒeƒBl”‚ª 0 l‚̏ꍇ
  97.    if$game_party.actors.size == 0
  98.      # ƒAƒCƒeƒ€AƒXƒLƒ‹A‘•”õAƒXƒe[ƒ^ƒX‚𖳌ø‰»
  99.      @command_window.disable_item(0)
  100.      @command_window.disable_item(1)
  101.      @command_window.disable_item(2)
  102.      @command_window.disable_item(3)
  103.    end
  104.    @command_window.z = 100
  105.    # ƒZ[ƒu‹ÖŽ~‚̏ꍇ
  106.    if$game_system.save_disabled
  107.      # ƒZ[ƒu‚𖳌ø‚É‚·‚é
  108.      @command_window.disable_item(4)
  109.    end
  110.    # ƒXƒe[ƒ^ƒXƒEƒBƒ“ƒhƒE‚ðì¬
  111.    @status_window = Window_RingMenuStatus.new
  112.    @status_window.x = @chara_select[0]
  113.    @status_window.y = @chara_select[1]
  114.    @status_window.z = 200
  115.    @status_window.opacity=$chara_select[2]
  116.    @status_window.back_opacity=$chara_select[3]
  117.    @status_window.visible = false
  118.    # ƒgƒ‰ƒ“ƒWƒVƒ‡ƒ“ŽÀs
  119.    Graphics.transition
  120.    # ƒƒCƒ“ƒ‹[ƒv
  121.    loopdo
  122.      # ƒQ[ƒ€‰æ–Ê‚ðXV
  123.      Graphics.update
  124.      # “ü—͏î•ñ‚ðXV
  125.      Input.update
  126.      # ƒtƒŒ[ƒ€XV
  127.      update
  128.      # ‰æ–Ê‚ªØ‚è‘Ö‚í‚Á‚½‚烋[ƒv‚ð’†’f
  129.      if$scene != self
  130.        break
  131.      end
  132.    end
  133.    # ƒgƒ‰ƒ“ƒWƒVƒ‡ƒ“€”õ
  134.    Graphics.freeze
  135.    # ƒXƒvƒ‰ƒCƒgƒZƒbƒg‚ð‰ð•ú
  136.    @spriteset.dispose
  137.    # ƒEƒBƒ“ƒhƒE‚ð‰ð•ú
  138.    if@show_location_window==true
  139.    @window_location.dispose
  140.    end
  141.    @command_window.dispose
  142.    @status_window.dispose
  143. end
  144. #--------------------------------------------------------------------------
  145. # œ ƒtƒŒ[ƒ€XV
  146. #--------------------------------------------------------------------------
  147. def update
  148.    # ƒEƒBƒ“ƒhƒE‚ðXV
  149.    if@show_location_window==true
  150.    @window_location.update
  151.    end
  152.    @command_window.update
  153.    @status_window.update
  154.    # ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ªƒAƒNƒeƒBƒu‚̏ꍇ: update_command ‚ðŒÄ‚Ô
  155.    if@command_window.active
  156.      update_command
  157.      return
  158.    end
  159.    # ƒXƒe[ƒ^ƒXƒEƒBƒ“ƒhƒE‚ªƒAƒNƒeƒBƒu‚̏ꍇ: update_status ‚ðŒÄ‚Ô
  160.    if@status_window.active
  161.      update_status
  162.      return
  163.    end
  164. end
  165. #--------------------------------------------------------------------------
  166. # œ ƒtƒŒ[ƒ€XV (ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ªƒAƒNƒeƒBƒu‚̏ꍇ)
  167. #--------------------------------------------------------------------------
  168. def update_command
  169.    # B ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
  170.    if Input.trigger?(Input::B)
  171.      # ƒLƒƒƒ“ƒZƒ‹ SE ‚ð‰‰‘t
  172.      $game_system.se_play($data_system.cancel_se)
  173.      # ƒ}ƒbƒv‰æ–ʂɐ؂è‘Ö‚¦
  174.      $scene = Scene_Map.new
  175.      return
  176.    end
  177.    # C ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
  178.    if Input.trigger?(Input::C)
  179.      # ƒp[ƒeƒBl”‚ª 0 l‚ŁAƒZ[ƒuAƒQ[ƒ€I—¹ˆÈŠO‚̃Rƒ}ƒ“ƒh‚̏ꍇ
  180.      if$game_party.actors.size == 0and@command_window.index < 4
  181.        # ƒuƒU[ SE ‚ð‰‰‘t
  182.        $game_system.se_play($data_system.buzzer_se)
  183.        return
  184.      end
  185.      # ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚̃J[ƒ\ƒ‹ˆÊ’u‚Å•ªŠò
  186.      case@command_window.index
  187.      when0  # ƒAƒCƒeƒ€
  188.        # Œˆ’è  SE ‚ð‰‰‘t
  189.        $game_system.se_play($data_system.decision_se)
  190.        # ƒAƒCƒeƒ€‰æ–ʂɐ؂è‘Ö‚¦
  191.        $scene = Scene_Item.new
  192.      when1  # ƒXƒLƒ‹
  193.        # Œˆ’è SE ‚ð‰‰‘t
  194.        $game_system.se_play($data_system.decision_se)
  195.        # ƒXƒe[ƒ^ƒXƒEƒBƒ“ƒhƒE‚ðƒAƒNƒeƒBƒu‚É‚·‚é
  196.        @command_window.active = false
  197.        @status_window.active = true
  198.        @status_window.visible = true
  199.        @status_window.index = 0
  200.      when2  # ‘•”õ
  201.        # Œˆ’è SE ‚ð‰‰‘t
  202.        $game_system.se_play($data_system.decision_se)
  203.        # ƒXƒe[ƒ^ƒXƒEƒBƒ“ƒhƒE‚ðƒAƒNƒeƒBƒu‚É‚·‚é
  204.        @command_window.active = false
  205.        @status_window.active = true
  206.        @status_window.visible = true
  207.        @status_window.index = 0
  208.      when3  # ƒXƒe[ƒ^ƒX
  209.        # Œˆ’è SE ‚ð‰‰‘t
  210.        $game_system.se_play($data_system.decision_se)
  211.        # ƒXƒe[ƒ^ƒXƒEƒBƒ“ƒhƒE‚ðƒAƒNƒeƒBƒu‚É‚·‚é
  212.        @command_window.active = false
  213.        @status_window.active = true
  214.        @status_window.visible = true
  215.        @status_window.index = 0
  216.      when4  # ƒZ[ƒu
  217.        # ƒZ[ƒu‹ÖŽ~‚̏ꍇ
  218.        if$game_system.save_disabled
  219.          # ƒuƒU[ SE ‚ð‰‰‘t
  220.          $game_system.se_play($data_system.buzzer_se)
  221.          return
  222.        end
  223.        # Œˆ’è SE ‚ð‰‰‘t
  224.        $game_system.se_play($data_system.decision_se)
  225.        # ƒZ[ƒu‰æ–ʂɐ؂è‘Ö‚¦
  226.        $scene = Scene_Save.new
  227.      when5  # ƒQ[ƒ€I—¹
  228.        # Œˆ’è SE ‚ð‰‰‘t
  229.        $game_system.se_play($data_system.decision_se)
  230.        # ƒQ[ƒ€I—¹‰æ–ʂɐ؂è‘Ö‚¦
  231.        $scene = Scene_End.new
  232.      end
  233.      return
  234.    end
  235.    # ƒAƒjƒ[ƒVƒ‡ƒ“’†‚È‚çƒJ[ƒ\ƒ‹‚̏ˆ—‚ðs‚í‚È‚¢
  236.    returnif@command_window.animation?
  237.    # ªor© ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
  238.    if Input.press?(Input::UP)or  Input.press?(Input::LEFT)
  239.      $game_system.se_play($data_system.cursor_se)
  240.      @command_window.setup_move_move(Window_RingMenu::MODE_MOVEL)
  241.      return
  242.    end
  243.    # «or¨ ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
  244.    if Input.press?(Input::DOWN)or  Input.press?(Input::RIGHT)
  245.      $game_system.se_play($data_system.cursor_se)
  246.      @command_window.setup_move_move(Window_RingMenu::MODE_MOVER)
  247.      return
  248.    end
  249. end
  250. #--------------------------------------------------------------------------
  251. # œ ƒtƒŒ[ƒ€XV (ƒXƒe[ƒ^ƒXƒEƒBƒ“ƒhƒE‚ªƒAƒNƒeƒBƒu‚̏ꍇ)
  252. #--------------------------------------------------------------------------
  253. def update_status
  254.    # B ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
  255.    if Input.trigger?(Input::B)
  256.      # ƒLƒƒƒ“ƒZƒ‹ SE ‚ð‰‰‘t
  257.      $game_system.se_play($data_system.cancel_se)
  258.      # ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ðƒAƒNƒeƒBƒu‚É‚·‚é
  259.      @command_window.active = true
  260.      @status_window.active = false
  261.      @status_window.visible = false
  262.      @status_window.index = -1
  263.      return
  264.    end
  265.    # C ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
  266.    if Input.trigger?(Input::C)
  267.      # ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚̃J[ƒ\ƒ‹ˆÊ’u‚Å•ªŠò
  268.      case@command_window.index
  269.      when1  # ƒXƒLƒ‹
  270.        # ‚±‚̃AƒNƒ^[‚̍s“®§ŒÀ‚ª 2 ˆÈã‚̏ꍇ
  271.        if$game_party.actors[@status_window.index].restriction >= 2
  272.          # ƒuƒU[ SE ‚ð‰‰‘t
  273.          $game_system.se_play($data_system.buzzer_se)
  274.          return
  275.        end
  276.        # Œˆ’è SE ‚ð‰‰‘t
  277.        $game_system.se_play($data_system.decision_se)
  278.        # ƒXƒLƒ‹‰æ–ʂɐ؂è‘Ö‚¦
  279.        $scene = Scene_Skill.new(@status_window.index)
  280.      when2  # ‘•”õ
  281.        # Œˆ’è SE ‚ð‰‰‘t
  282.        $game_system.se_play($data_system.decision_se)
  283.        # ‘•”õ‰æ–ʂɐ؂è‘Ö‚¦
  284.        $scene = Scene_Equip.new(@status_window.index)
  285.      when3  # ƒXƒe[ƒ^ƒX
  286.        # Œˆ’è SE ‚ð‰‰‘t
  287.        $game_system.se_play($data_system.decision_se)
  288.        # ƒXƒe[ƒ^ƒX‰æ–ʂɐ؂è‘Ö‚¦
  289.        $scene = Scene_Status.new(@status_window.index)
  290.      end
  291.      return
  292.    end
  293. end
  294. end
  295. #===================================================
  296. # ▲ CLASS Scene_Menu Ends
  297. #===================================================
  298. #===================================================
  299. # ▼ CLASS Window_RingMenu  Begins
  300. #===================================================
  301. class Window_RingMenu < Window_Base
  302. #--------------------------------------------------------------------------
  303. # › ƒNƒ‰ƒX’萔
  304. #--------------------------------------------------------------------------
  305. STARTUP_FRAMES = 20
  306. MOVING_FRAMES = 5  
  307. RING_R = 64        
  308. ICON_ITEM   = RPG::Cache.icon("034-Item03")
  309. ICON_SKILL  = RPG::Cache.icon("044-Skill01")
  310. ICON_EQUIP  = RPG::Cache.icon("001-Weapon01")
  311. ICON_STATUS = RPG::Cache.icon("050-Skill07")
  312. ICON_SAVE   = RPG::Cache.icon("038-Item07")
  313. ICON_EXIT   = RPG::Cache.icon("046-Skill03")
  314. ICON_DISABLE= RPG::Cache.icon("")
  315. SE_STARTUP = "056-Right02"
  316. MODE_START = 1
  317. MODE_WAIT  = 2
  318. MODE_MOVER = 3
  319. MODE_MOVEL = 4
  320. #--------------------------------------------------------------------------
  321. # › ƒAƒNƒZƒT
  322. #--------------------------------------------------------------------------
  323. attr_accessor :index
  324. #--------------------------------------------------------------------------
  325. # œ ƒIƒuƒWƒFƒNƒg‰Šú‰»
  326. #--------------------------------------------------------------------------
  327. def initialize( center_x, center_y )
  328.    super(0, 0, 640, 480)
  329.    self.contents = Bitmap.new(width-32, height-32)
  330.    self.contents.font.name = $ring_menu_text[0]
  331.    self.contents.font.color = text_color($ring_menu_text[7])
  332.    self.contents.font.size = $ring_menu_text[8]
  333.    self.opacity = 0
  334.    self.back_opacity = 0
  335.    s1 = $ring_menu_text[1]
  336.    s2 = $ring_menu_text[2]
  337.    s3 = $ring_menu_text[3]
  338.    s4 = $ring_menu_text[4]
  339.    s5 = $ring_menu_text[5]
  340.    s6 = $ring_menu_text[6]
  341.    @commands = [ s1, s2, s3, s4, s5, s6 ]
  342.    @item_max = 6
  343.    @index = 0
  344.    @items = [ ICON_ITEM, ICON_SKILL, ICON_EQUIP, ICON_STATUS, ICON_SAVE, ICON_EXIT ]
  345.    [url=home.php?mod=space&uid=249395]@disabled[/url] = [false, false, false, false, false, false]
  346.    @cx = center_x - 16
  347.    @cy = center_y - 16
  348.    setup_move_start
  349.    refresh
  350. end
  351. #--------------------------------------------------------------------------
  352. # œ ƒtƒŒ[ƒ€XV
  353. #--------------------------------------------------------------------------
  354. def update
  355.    super
  356.    refresh
  357. end
  358. #--------------------------------------------------------------------------
  359. # œ ‰æ–ʍĕ`‰æ
  360. #--------------------------------------------------------------------------
  361. def refresh
  362.    self.contents.clear
  363.    # ƒAƒCƒRƒ“‚ð•`‰æ
  364.    case@mode
  365.    when MODE_START
  366.      refresh_start
  367.    when MODE_WAIT
  368.      refresh_wait
  369.    when MODE_MOVER
  370.      refresh_move(1)
  371.    when MODE_MOVEL
  372.      refresh_move(0)
  373.    end
  374.    # ƒAƒNƒeƒBƒu‚ȃRƒ}ƒ“ƒh–¼•\Ž¦
  375.    rect = Rect.new(@cx - 272, @cy + 24, self.contents.width-32, 32)
  376.    self.contents.draw_text(rect, @commands[@index],1)
  377. end
  378. #--------------------------------------------------------------------------
  379. # › ‰æ–ʍĕ`‰æ(‰Šú‰»Žž)
  380. #--------------------------------------------------------------------------
  381. def refresh_start
  382.    d1 = 2.0 * Math::PI / @item_max
  383.    d2 = 1.0 * Math::PI / STARTUP_FRAMES
  384.    r = RING_R - 1.0 * RING_R * @steps / STARTUP_FRAMES
  385.    for i in0...@item_max
  386.      j = i - @index
  387.      d = d1 * j + d2 * @steps
  388.      x = @cx + ( r * Math.sin( d )).to_i
  389.      y = @cy - ( r * Math.cos( d )).to_i
  390.      draw_item(x, y, i)
  391.    end
  392.    @steps -= 1
  393.    if@steps < 1
  394.      @mode = MODE_WAIT
  395.    end
  396. end
  397. #--------------------------------------------------------------------------
  398. # › ‰æ–ʍĕ`‰æ(‘Ò‹@Žž)
  399. #--------------------------------------------------------------------------
  400. def refresh_wait
  401.    d = 2.0 * Math::PI / @item_max
  402.    for i in0...@item_max
  403.      j = i - @index
  404.      x = @cx + ( RING_R * Math.sin( d * j )).to_i
  405.      y = @cy - ( RING_R * Math.cos( d * j )).to_i
  406.      draw_item(x, y, i)
  407.    end
  408. end
  409. #--------------------------------------------------------------------------
  410. # › ‰æ–ʍĕ`‰æ(‰ñ“]Žž)
  411. #  mode : 0=”½ŽžŒv‰ñ‚è 1=ŽžŒv‰ñ‚è
  412. #--------------------------------------------------------------------------
  413. def refresh_move( mode )
  414.    d1 = 2.0 * Math::PI / @item_max
  415.    d2 = d1 / MOVING_FRAMES
  416.    d2 *= -1if mode != 0
  417.    for i in0...@item_max
  418.      j = i - @index
  419.      d = d1 * j + d2 * @steps
  420.      x = @cx + ( RING_R * Math.sin( d )).to_i
  421.      y = @cy - ( RING_R * Math.cos( d )).to_i
  422.      draw_item(x, y, i)
  423.    end
  424.    @steps -= 1
  425.    if@steps < 1
  426.      @mode = MODE_WAIT
  427.    end
  428. end
  429. #--------------------------------------------------------------------------
  430. # œ €–Ú‚Ì•`‰æ
  431. #     x :
  432. #     y :
  433. #     i : €–ڔԍ†
  434. #--------------------------------------------------------------------------
  435. def draw_item(x, y, i)
  436.    #p "x=" + x.to_s + " y=" + y.to_s + " i=" + @items[i].to_s
  437.    rect = Rect.new(0, 0, @items[i].width, @items[i].height)
  438.    if@index == i
  439.      self.contents.blt( x, y, @items[i], rect )
  440.      if@disabled[@index]
  441.        self.contents.blt( x, y, ICON_DISABLE, rect )
  442.      end
  443.    else
  444.      self.contents.blt( x, y, @items[i], rect, 128)
  445.      if@disabled[@index]
  446.        self.contents.blt( x, y, ICON_DISABLE, rect, 128)
  447.      end
  448.    end
  449. end
  450. #--------------------------------------------------------------------------
  451. # œ €–ڂ𖳌ø‚É‚·‚é
  452. #     index : €–ڔԍ†
  453. #--------------------------------------------------------------------------
  454. def disable_item(index)
  455.    @disabled[index] = true
  456. end
  457. #--------------------------------------------------------------------------
  458. # › ‰Šú‰»ƒAƒjƒ[ƒVƒ‡ƒ“‚̏€”õ
  459. #--------------------------------------------------------------------------
  460. def setup_move_start
  461.    @mode = MODE_START
  462.    @steps = STARTUP_FRAMES
  463.    if  SE_STARTUP != niland SE_STARTUP != ""
  464.      Audio.se_play("Audio/SE/" + SE_STARTUP, 80, 100)
  465.    end
  466. end
  467. #--------------------------------------------------------------------------
  468. # › ‰ñ“]ƒAƒjƒ[ƒVƒ‡ƒ“‚̏€”õ
  469. #--------------------------------------------------------------------------
  470. def setup_move_move(mode)
  471.    if mode == MODE_MOVER
  472.      @index -= 1
  473.      @index = @items.size - 1if@index < 0
  474.    elsif mode == MODE_MOVEL
  475.      @index += 1
  476.      @index = 0if@index >= @items.size
  477.    else
  478.      return
  479.    end
  480.    @mode = mode
  481.    @steps = MOVING_FRAMES
  482. end
  483. #--------------------------------------------------------------------------
  484. # › ƒAƒjƒ[ƒVƒ‡ƒ“’†‚©‚Ç‚¤‚©
  485. #--------------------------------------------------------------------------
  486. def animation?
  487.    return@mode != MODE_WAIT
  488. end
  489. end
  490. #===================================================
  491. # ▲ CLASS Window_RingMenu Ends
  492. #===================================================
  493. #===================================================
  494. # ▼ CLASS Window_RingMenuStatus Begins
  495. #===================================================
  496. class Window_RingMenuStatus < Window_Selectable
  497. #--------------------------------------------------------------------------
  498. # œ ƒIƒuƒWƒFƒNƒg‰Šú‰»
  499. #--------------------------------------------------------------------------
  500. def initialize
  501.    super(204, 64, 232, 352)
  502.    self.contents = Bitmap.new(width - 32, height - 32)
  503.    self.contents.font.size = $chara_select[5]
  504.    refresh
  505.    self.active = false
  506.    self.index = -1
  507. end
  508. #--------------------------------------------------------------------------
  509. # œ ƒŠƒtƒŒƒbƒVƒ…
  510. #--------------------------------------------------------------------------
  511. def refresh
  512.    self.contents.clear
  513.    self.windowskin = RPG::Cache.windowskin($chara_select[4])
  514.    self.contents.font.name = $chara_select[0]
  515.    self.contents.font.color = text_color($chara_select[1])
  516.    @item_max = $game_party.actors.size
  517.    for i in0...$game_party.actors.size
  518.      x = 80
  519.      y = 80 * i
  520.      actor = $game_party.actors[i]
  521.      draw_actor_graphic(actor, x - 40, y + 80)
  522.      draw_actor_name(actor, x, y + 24)
  523.    end
  524. end
  525. #--------------------------------------------------------------------------
  526. # œ ƒJ[ƒ\ƒ‹‚Ì‹éŒ`XV
  527. #--------------------------------------------------------------------------
  528. def update_cursor_rect
  529.    if@index < 0
  530.      self.cursor_rect.empty
  531.    else
  532.      self.cursor_rect.set(0, @index * 80, self.width - 32, 80)
  533.    end
  534. end
  535. end
  536. #===================================================
  537. # ▲ CLASS Window_RingMenuStatus Ends
  538. #===================================================
  539. #===================================================
  540. # ▼ CLASS Game_Map Additional Code Begins
  541. #===================================================
  542. class Game_Map
  543. #Dubealex Addition (from XRXS) to show Map Name on screen
  544. def name
  545.    $map_infos[@map_id]
  546. end
  547. end
  548. #===================================================
  549. # ▲ CLASS Game_Map Additional Code Ends
  550. #===================================================
  551. #===================================================
  552. # ▼ CLASS Scene_Title Additional Code Begins
  553. #===================================================
  554. class Scene_Title
  555. #Dubealex Addition (from XRXS) to show Map Name on screen
  556.    $map_infos = load_data("Data/MapInfos.rxdata")
  557.    for key in$map_infos.keys
  558.      $map_infos[key] = $map_infos[key].name
  559.    end
  560. end
  561. #===================================================
  562. # ▲ CLASS Scene_Title Additional Code Ends
  563. #===================================================
  564. #===================================================
  565. # ▼ CLASS Window_Location Begins
  566. #===================================================
  567. class Window_Location < Window_Base
  568. def initialize
  569.   super(0, 0, $window_size[0], $window_size[1])
  570.    self.contents = Bitmap.new(width - 32, height - 32)
  571.    self.contents.font.name = $location_text[0]
  572.    self.contents.font.size = $location_text[1]
  573.   refresh
  574. end
  575. def refresh
  576.   self.contents.clear
  577.   self.windowskin = RPG::Cache.windowskin($window_location_skin)
  578.   self.contents.font.color = text_color($location_text[2])
  579.   self.contents.draw_text(4, 0, 120, 32, $location_text[3])
  580.   self.contents.font.color = text_color($location_text[4])
  581.   self.contents.draw_text(4, 32, 120, 32, $game_map.name, 2)
  582. end
  583. end
  584. #===================================================
  585. # ▲ CLASS Window_Location Ends
  586. #===================================================
  587. #===================================================
  588. # ▲ Ring Menu - Show Player Location R1 - Ends
  589. #===================================================
复制代码

似乎有点长,,,不过效果还是很可观的- -
那么!给点糖呗     
             本帖来自P1论坛作者1041235896,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=375980  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
【XP】图标菜单优化+地图名: d2.gif
         同一主题附件:
    d1.jpg
    d2.gif

QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

GMT+8, 2024-5-20 12:42 , Processed in 0.061445 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部