Advertisement
Caeles

Menú tarjeta

Dec 16th, 2019
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 7.50 KB | None | 0 0
  1. class Scene_Map
  2.     def call_menu
  3.      $game_temp.menu_calling = false
  4.      $game_player.straighten
  5.      $game_map.update
  6.      pbCallMenu2
  7.     end
  8. end
  9.  
  10. class Menu2
  11.     def update;end
  12.  
  13.     def initialize
  14.       @selected_item = 0
  15.       @items = []
  16.      
  17.       @partyCmd = addCmd(["pokemon","pokemon","openParty"])
  18.       @bagCmd = addCmd(["bolsa","Bolsa","openBag"])
  19.       @pokedexCmd = addCmd(["pokedex"])
  20.       #@trainerCmd = addCmd(["trainer","Mochila","openTrainerCard"])
  21.       @saveCmd = addCmd(["guardar","guardar","openSave"])
  22.       @optionsCmd = addCmd(["opciones","opciones","openOptions"])
  23.       @rumoresCmd = addCmd(["rumores"])
  24.      # @debugCmd = addCmd(["debug","Mochila","pbDebugMenu"]) if $DEBUG
  25.      # @exitCmd = addCmd(["exit","Mochila","exitMenu"])
  26.      
  27.       @icon_width = 66
  28.       @icon_height = 66
  29.  
  30.       @n_icons = 3 #iconos por fila
  31.       @spacing_x = 30 #espacio en x entre los iconos
  32.       @spacing_y = 30 #espacio en y entre los iconos
  33.      
  34.       @menu_width = @n_icons*(@icon_width+@spacing_x)-@spacing_x
  35.       @menu_height = (@items.length/@n_icons.to_f).ceil*(@icon_height+@spacing_y)-@spacing_y
  36.            
  37.       @x_margin = (Graphics.width-@menu_width)/5.75 #separación entre los iconos y el borde izquiero de la pantalla
  38.       @y_margin = (Graphics.height-@menu_height)/1.25 #separación entre los iconos y el borde superior de la pantalla
  39.      
  40.       @exit = false
  41.     end
  42.      
  43.     def pbStartScene # CARGA LAS COSAS
  44.         @sprites={}
  45.         @viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
  46.         @viewport.z=99999
  47.        
  48.         @sprites["bg"]=Sprite.new(@viewport)
  49.         @sprites["bg"].bitmap=RPG::Cache.picture("ag_interfaz/trainercard/bg")
  50.        
  51.         #@totalElements = 7
  52.         radius = 100
  53.        
  54.         counter = 0
  55.         for item in @items
  56.           @sprites["item_#{counter}"] = Sprite.new(@viewport)
  57.           @sprites["item_#{counter}"].bitmap=RPG::Cache.picture("ag_interfaz/trainercard/"+item[0])
  58.           @sprites["item_#{counter}"].x=@x_margin + ((@icon_width+@spacing_x) * (counter%@n_icons))
  59.           @sprites["item_#{counter}"].y=@y_margin + ((@icon_height+@spacing_y) * (counter/@n_icons))
  60.           counter += 1
  61.         end
  62.            
  63.           @sprites["item_1"].x-= -14
  64.           @sprites["item_1"].y+= -4
  65.           @sprites["item_2"].y+= 6
  66.           @sprites["item_4"].y+= -2
  67.           @sprites["item_5"].x+= 12
  68.           @sprites["item_5"].y+= -8
  69.  
  70.          
  71.         @sprites["selector"]=Sprite.new(@viewport)
  72.         @sprites["selector"].bitmap=RPG::Cache.picture("ag_interfaz/trainercard/menu_selection")
  73.         redrawSelector
  74.         @sprites["selector"].z=99999
  75.                
  76.         pbSEPlay("menu")
  77.     end
  78.    
  79.     def pbEndScene # CUANDO TERMINA...
  80.         pbDisposeSpriteHash(@sprites)
  81.         @viewport.dispose if @viewport
  82.     end
  83.        
  84.     def redrawSelector
  85.         @sprites["selector"].x=@x_margin + ((@icon_width+@spacing_x) * (@selected_item%@n_icons))
  86.         @sprites["selector"].y=@y_margin + ((@icon_height+@spacing_y) * (@selected_item/@n_icons))
  87.     end
  88.    
  89.     def addCmd(item)
  90.         return @items.push(item).length-1
  91.     end
  92.    
  93.     def pbUpdate    
  94.         @xcount=999
  95.         @posible1=0
  96.         @posible2=0
  97.         @posible3=0
  98.         loop do
  99.             Input.update
  100.  
  101.         ################### FUNCIONES AQUÍ #######
  102.  
  103.             if Input.trigger?(Input::RIGHT)
  104.                 @selected_item+=1
  105.             end
  106.            
  107.             if Input.trigger?(Input::LEFT)
  108.                 @selected_item-=1
  109.             end
  110.  
  111.             if Input.trigger?(Input::UP)
  112.                 @selected_item-=@n_icons
  113.                 if(@selected_item < 0)
  114.                   @selected_item = 0
  115.                 end
  116.             end
  117.            
  118.             if Input.trigger?(Input::DOWN)
  119.                 @selected_item+=@n_icons
  120.                 if(@selected_item > @items.length-1)
  121.                   @selected_item = @items.length-1
  122.                 end
  123.             end
  124.            
  125.             if (@selected_item < 0)
  126.                 @selected_item = @items.length-1
  127.             end
  128.  
  129.             if (@selected_item >= @items.length)
  130.                 @selected_item=0
  131.             end
  132.  
  133.             if Input.trigger?(Input::C)
  134.               send(@items[@selected_item][2])
  135.             end
  136.            
  137.             break if Input.trigger?(Input::B) # CIERRA EL MENÚ
  138.             break if @exit
  139.            
  140.           redrawSelector
  141.           Graphics.update
  142.         end # loop
  143.        
  144.     end # update
  145.  
  146. end # Cierra la class
  147.  
  148. ###################################################
  149.  
  150. def pbCallMenu2
  151.     scene=Menu2.new
  152.     scene.pbStartScene
  153.     scene.pbUpdate
  154.     scene.pbEndScene
  155. end
  156.  
  157. def exitMenu
  158.   @exit = true
  159. end
  160.  
  161. def openOptions
  162.   if defined?(PokemonOptionScene) == 'constant' && PokemonOptionScene.class == Class
  163.     scene=PokemonOptionScene.new
  164.     screen=PokemonOption.new(scene)
  165.     pbFadeOutIn(99999) { screen.pbStartScreen(true) }
  166.   else
  167.     pbFadeOutIn(99999){
  168.       scene = PokemonOption_Scene.new
  169.       screen = PokemonOptionScreen.new(scene)
  170.       screen.pbStartScreen(true)
  171.     }
  172.   end
  173. end
  174.  
  175. def openBag
  176.   item=0
  177.   scene=PokemonBag_Scene.new
  178.   screen=PokemonBagScreen.new(scene,$PokemonBag)
  179.   pbFadeOutIn(99999) {
  180.   item=screen.pbStartScreen
  181.   if item>0
  182.       pbEndScene
  183.   else
  184.       #@scene.pbRefresh
  185.   end
  186.   }
  187.   if item>0
  188.       Kernel.pbUseKeyItemInField(item)
  189.       exitMenu #Corrección 01-11-2018
  190.       return
  191.   end
  192. end
  193.  
  194. def openParty
  195.   if defined?(PokemonScreen_Scene) == 'constant' && PokemonScreen_Scene.class == Class
  196.     if Input.trigger?(Input::C)
  197.       sscene=PokemonScreen_Scene.new
  198.       sscreen=PokemonScreen.new(sscene,$Trainer.party)
  199.       hiddenmove=nil
  200.       pbFadeOutIn(99999) {
  201.           hiddenmove=sscreen.pbPokemonScreen
  202.           if hiddenmove
  203.               pbEndScene
  204.           else
  205.               #@scene.pbRefresh
  206.           end
  207.       }
  208.       if hiddenmove
  209.           Kernel.pbUseHiddenMove(hiddenmove[0],hiddenmove[1])
  210.           exitMenu #Corrección 01-11-2018
  211.           return
  212.       end
  213.     end
  214.   else
  215.     if Input.trigger?(Input::C)
  216.       sscene=PokemonParty_Scene.new
  217.       sscreen=PokemonPartyScreen.new(sscene,$Trainer.party)
  218.       hiddenmove=nil
  219.       pbFadeOutIn(99999) {
  220.           hiddenmove=sscreen.pbPokemonScreen
  221.           if hiddenmove
  222.               pbEndScene
  223.           else
  224.               #@scene.pbRefresh
  225.           end
  226.       }
  227.       if hiddenmove
  228.           Kernel.pbUseHiddenMove(hiddenmove[0],hiddenmove[1])
  229.           exitMenu #Corrección 01-11-2018
  230.           return
  231.       end
  232.     end
  233.   end
  234.  
  235.  
  236. end
  237.  
  238. def openTrainerCard
  239.   if defined?(PokemonTrainerCardScene) == 'constant' && PokemonTrainerCardScene.class == Class
  240.     scene=PokemonTrainerCardScene.new
  241.     screen=PokemonTrainerCard.new(scene)
  242.     pbFadeOutIn(99999) {
  243.        screen.pbStartScreen
  244.     }
  245.   else
  246.     scene=PokemonTrainerCard_Scene.new
  247.     screen=PokemonTrainerCardScreen.new(scene)
  248.     pbFadeOutIn(99999) {
  249.        screen.pbStartScreen
  250.     }
  251.  
  252.   end
  253. end
  254.  
  255. def openSave
  256.   if defined?(PokemonSaveScene) == 'constant' && PokemonSaveScene.class == Class
  257.     scene=PokemonSaveScene.new
  258.     screen=PokemonSave.new(scene)
  259.     if screen.pbSaveScreen
  260.       endscene=false
  261.       @exit = true
  262.       #break
  263.     end
  264.   else
  265.     scene=PokemonSave_Scene.new
  266.     screen=PokemonSaveScreen.new(scene)
  267.     if screen.pbSaveScreen
  268.       endscene=false
  269.       @exit = true
  270.       #break
  271.     end
  272.   end
  273. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement