Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Status_menu
- def update;end
- def initialize
- @selected_item = 0
- @items = []
- @atributosCmd = addCmd(["atributos","Atributos","openAtributos"])
- @tiposCmd = addCmd(["tipos","Tipos","openTipos"])
- @logrosCmd = addCmd(["logros","Logros","openLogros"])
- @pokedexCmd = addCmd(["dex","Pokédex","openDex"])
- @pagestatus=1
- @icon_width = 66
- @icon_height = 66
- @n_icons = 4#iconos por fila
- @spacing_x = 30 #espacio en x entre los iconos
- @spacing_y = 30 #espacio en y entre los iconos
- @menu_width = @n_icons*(@icon_width+@spacing_x)-@spacing_x
- @menu_height = (@items.length/@n_icons.to_f).ceil*(@icon_height+@spacing_y)-@spacing_y
- @x_margin = (Graphics.width-@menu_width)/1.6 #separación entre los iconos y el borde izquiero de la pantalla
- @y_margin = (Graphics.height-@menu_height)/1.18 #1.25 #separación entre los iconos y el borde superior de la pantalla
- @exit2 = false
- end
- def pbUpdate
- pbUpdateSpriteHash(@sprites)
- end
- def pbStartScene # CARGA LAS COSAS
- @sprites={}
- @sprites["overlay"]=BitmapSprite.new(Graphics.width,Graphics.height,@viewport)
- @viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
- @viewport.z=99999
- @sprites["bg"]=Sprite.new(@viewport)
- @sprites["bg"].bitmap=RPG::Cache.picture("Status/bg")
- @sprites["text"]=Sprite.new(@viewport)
- @sprites["text"].bitmap=RPG::Cache.picture("Status/blank")
- @sprites["barras"]=Sprite.new(@viewport)
- #@totalElements = 7
- radius = 100
- @bitmaps={}
- for i in 0..6
- @bitmaps["selec_"+i.to_s]=RPG::Cache.picture("Status/selec_"+(i+1).to_s)
- end
- baseColor=Color.new(255,255,255)
- shadowColor=Color.new(0,0,0,0)
- pbSetSystemFont(@sprites["bg"].bitmap)
- pbSetSystemFont(@sprites["text"].bitmap)
- # pbDrawTextPositions(@sprites["bg"].bitmap,text)
- counter = 0
- for item in @items
- @sprites["item_#{counter}"] = Sprite.new(@viewport)
- @sprites["item_#{counter}"].bitmap=RPG::Cache.picture("Status/"+item[0])
- @sprites["item_#{counter}"].x=@x_margin + ((@icon_width+@spacing_x) * (counter%@n_icons))
- @sprites["item_#{counter}"].y=@y_margin + ((@icon_height+@spacing_y) * (counter/@n_icons))
- counter += 1
- end
- @sprites["selector"]=Sprite.new(@viewport)
- @sprites["selector"].bitmap=RPG::Cache.picture("Status/selec_1")
- redrawSelector
- @sprites["selector"].z=99999
- pbSEPlay("menu")
- page1
- end
- def page1 #####ATRIBUTOS##########
- if @pagestatus==2
- @sprites["text"].bitmap.clear
- @pagestatus=1
- end
- base=Color.new(248,248,248)
- shadow=Color.new(104,104,104)
- @sprites["barras"].bitmap=pbBitmap("Graphics/Pictures/Status/barras")
- @sprites["barras"].x=214
- @sprites["barras"].y=100
- keyx=116
- for i in 674..676
- @sprites["key#{i}"]=Sprite.new(@viewport)
- @sprites["key#{i}"].bitmap=pbBitmap("Graphics/Icons/item"+i.to_s)
- @sprites["key#{i}"].x=keyx
- @sprites["key#{i}"].y=206
- @sprites["key#{i}"].z=99999
- @sprites["key#{i}"].visible=true
- keyx+=126
- end
- icony=0
- for i in 0..$Trainer.party.length-1
- @sprites["icon#{i}"]=Sprite.new(@viewport)
- temp = $Trainer.party[i].species
- if $Trainer.party[i].isEgg?
- @sprites["icon#{i}"].bitmap=pbBitmap("Graphics/Icons/iconEgg")
- elsif temp <100
- @sprites["icon#{i}"].bitmap=pbBitmap("Graphics/Icons/icon0"+temp.to_s)
- else
- @sprites["icon#{i}"].bitmap=pbBitmap("Graphics/Icons/icon"+temp.to_s)
- end
- @sprites["icon#{i}"].src_rect=Rect.new(0,0,64,64)
- @sprites["icon#{i}"].x=2
- @sprites["icon#{i}"].y=icony
- @sprites["icon#{i}"].z=99999
- icony+=64
- end
- fuerza = checkPartyAtributos("fuerza").to_s
- destruccion = checkPartyAtributos("destruccion").to_s
- sigilo = checkPartyAtributos("sigilo").to_s
- movilidad = checkPartyAtributos("movilidad").to_s
- llavebronce = $PokemonBag.pbQuantity(:LLAVEBRONCE).to_s
- llaveplata = $PokemonBag.pbQuantity(:LLAVEPLATA).to_s
- llaveoro = $PokemonBag.pbQuantity(:LLAVEORO).to_s
- posatr=100/4
- coratr=66
- textpos=[
- [_INTL("Fuerza"),110,posatr+coratr,0,Color.new(156,81,21),Color.new(168,48,56,0)],
- [fuerza,440,posatr+coratr,0,base,shadow],
- [_INTL("Destruc."),110,posatr*2+coratr,0,Color.new(180,32,32),Color.new(168,48,56,0)],
- [destruccion,440,posatr*2+coratr,0,base,shadow],
- [_INTL("Sigilo"),110,posatr*3+coratr,0,Color.new(115,48,187),Color.new(168,48,56,0)],
- [sigilo,440,posatr*3+coratr,0,base,shadow],
- [_INTL("Movilidad"),110,posatr*4+coratr,0,Color.new(42,138,130),Color.new(168,48,56,0)],
- [movilidad,440,posatr*4+coratr,0,base,shadow],
- [_INTL("x{1}",llavebronce),166,212,0,base,shadow],
- [_INTL("x{1}",llaveplata),166+126,212,0,base,shadow],
- [_INTL("x{1}",llaveoro),166+126*2,212,0,base,shadow],
- [_INTL("ATRIBUTOS"),116,36,0,base,shadow],
- ]
- posx=216
- posy=105
- atributecolors=[
- Color.new(199,118,49),Color.new(156,81,28), # Fuerza
- Color.new(199,81,49),Color.new(156,49,28), # Destrucción
- Color.new(122,63,152),Color.new(81,34,110), # Sigilo
- Color.new(65,178,174),Color.new(42,138,130) # Movilidad
- ]
- #Fuerza
- @sprites["text"].bitmap.fill_rect(posx,posy,fuerza.to_i*218/120,4,atributecolors[0])
- @sprites["text"].bitmap.fill_rect(posx,posy+2,fuerza.to_i*218/120,6,atributecolors[1])
- #Destrucción
- @sprites["text"].bitmap.fill_rect(posx,posy+24,destruccion.to_i*218/120,4,atributecolors[2])
- @sprites["text"].bitmap.fill_rect(posx,posy+24+2,destruccion.to_i*218/120,6,atributecolors[3])
- #Sigilo
- @sprites["text"].bitmap.fill_rect(posx,posy+48,sigilo.to_i*218/120,4,atributecolors[4])
- @sprites["text"].bitmap.fill_rect(posx,posy+48+2,sigilo.to_i*218/120,6,atributecolors[5])
- #Movilidad
- @sprites["text"].bitmap.fill_rect(posx,posy+72,movilidad.to_i*218/120,4,atributecolors[6])
- @sprites["text"].bitmap.fill_rect(posx,posy+72+2,movilidad.to_i*218/120,6,atributecolors[7])
- pbDrawTextPositions(@sprites["text"].bitmap,textpos)
- pbUpdate
- end
- def page2 #####NUMERO DE TIPOS EN PARTY##########
- if @pagestatus==1
- for i in 674..676
- @sprites["key#{i}"].visible=false
- end
- @sprites["text"].bitmap.clear
- @pagestatus=2
- end
- base=Color.new(248,248,248)
- shadow=Color.new(104,104,104)
- #@sprites["tipos"]=Sprite.new(@viewport)
- @sprites["barras"].bitmap=pbBitmap("Graphics/Pictures/Status/typelist")
- @sprites["barras"].x=106
- @sprites["barras"].y=88
- textype=[]
- tipos = [:NORMAL,:FIGHTING,:FLYING,:POISON,:GROUND,
- :ROCK,:FIRE,:WATER,:GRASS,:ELECTRIC,:PSYCHIC,
- :ICE,:BUG,:GHOST,:STEEL,:DRAGON,:DARK,:FAIRY]
- typex=180
- typey=86
- textype.push([_INTL("ÍNDICE ELEMENTAL"),110,36,0,base,shadow])
- for i in tipos
- checkPartyTypes(i)
- j = checkPartyTypes(i).to_s
- textype.push([_INTL("x{1}",j),typex,typey,0,base,shadow])
- if i==:ROCK
- typex=180+128
- typey=86-28
- elsif i==:ICE
- typex=180+128*2
- typey=86-28
- end
- typey+=28
- end
- pbDrawTextPositions(@sprites["text"].bitmap,textype)
- pbUpdate
- end
- def pbEndScene # CUANDO TERMINA...
- pbDisposeSpriteHash(@sprites)
- @viewport.dispose if @viewport
- end
- def redrawSelector
- @sprites["selector"].bitmap=@bitmaps["selec_"+@selected_item.to_s]
- @sprites["selector"].x=@x_margin + ((@icon_width+@spacing_x) * (@selected_item%@n_icons))
- @sprites["selector"].y=@y_margin + ((@icon_height+@spacing_y) * (@selected_item/@n_icons))
- end
- def addCmd(item)
- return @items.push(item).length-1
- end
- def pbUpdate
- @xcount=999
- @posible1=0
- @posible2=0
- @posible3=0
- loop do
- Input.update
- redrawSelector
- Graphics.update
- ################### FUNCIONES AQUÍ #######
- if Input.trigger?(Input::RIGHT)
- @selected_item+=1
- end
- if Input.trigger?(Input::LEFT)
- @selected_item-=1
- end
- if Input.trigger?(Input::UP)
- @selected_item-=@n_icons
- if(@selected_item < 0)
- @selected_item = 0
- end
- end
- if Input.trigger?(Input::DOWN)
- @selected_item+=@n_icons
- if(@selected_item > @items.length-1)
- @selected_item = @items.length-1
- end
- end
- if (@selected_item < 0)
- @selected_item = @items.length-1
- end
- if (@selected_item >= @items.length)
- @selected_item=0
- end
- if Input.trigger?(Input::C)
- send(@items[@selected_item][2])
- end
- if Input.trigger?(Input::B) || @exit2
- if @pagestatus==2
- @sprites["text"].bitmap.clear
- @pagestatus=1
- end
- break
- end
- end # loop
- Input.update
- Graphics.update
- #pbCallMenu2
- end # update
- end # Cierra la class
- ###################################################
- def pbCallStatus_menu
- scene=Status_menu.new
- scene.pbStartScene
- #scene.pbUpdate
- scene.pbEndScene
- end
- def exitMenu
- @exit2 = true
- #break
- end
- def openDex
- pbFadeOutIn(99999) {scene=PokemonPokedexScene.new
- screen=PokemonPokedex.new(scene)
- screen.pbStartScreen
- }
- end
- def openLogros
- General.new
- #scene.pbUpdate
- end
- def openAtributos
- if @pagestatus!=1
- page1
- end
- end
- def openTipos
- if @pagestatus!=2
- page2
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement