Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
Botões por imagem
4 participantes
Aldeia RPG :: RPG Maker :: Rpg Maker XP :: Netplays :: Scripts para netplays
Página 1 de 1
Botões por imagem
Introdução
Um widget que cria um botão a partir de uma imagem. Diferente de um que fiz (Soreto) que desenhava o fundo no botão, esse aqui (feito pelo Nanzin) desenha uma imagem clicável e com interação, alterna-se entre duas imagens diferentes (quando o mouse estiver sobre e quando o mouse está fora do widget).
Qualquer bug por favor reportar no tópico.
Script
Screens
Não tenho aqui, mas nem precisa pois varia de acordo com a imagem que escolher.
Créditos
Nanzin
Um widget que cria um botão a partir de uma imagem. Diferente de um que fiz (Soreto) que desenhava o fundo no botão, esse aqui (feito pelo Nanzin) desenha uma imagem clicável e com interação, alterna-se entre duas imagens diferentes (quando o mouse estiver sobre e quando o mouse está fora do widget).
Qualquer bug por favor reportar no tópico.
Script
- Código:
#----------------------------------------------------------------#
# ** Image Button [Widget]
#----------------------------------------------------------------#
# Developed: Nanzin
# Date: 17-02-2013 00:50
#----------------------------------------------------------------#
#---------------------------- PT BR -----------------------------#
# Como Usar:
# - Chame a classe em seu código
# Image_Button.new(window,x,y,imageonmouseout,imageonmouseover,type)
#
# ONDE:
# Window: Janela que o botão irá aparecer
# x: Coordenada X
# y: Coordenada Y
# imageonmouseout: Imagem padrão
# imageonmouseover: Imagem que mudará quando o mouse estiver sobre.
# type: Icone ou Imagem
#
# Exemplo:
# @button = Image_Button.new(self,100,40,"Gold","Gold2","image").
#
# Este exemplo irá criar a imagem de Gold encontrada na pasta
# pictures do projeto, e vai mudar para Gold2 quando o mouse
# estiver sobre
#
# @button = Image_Button.new(self,100,40,"Gold","Gold2","icon").
#
# Este exemplo irá criar a imagem de Gold encontrada na pasta
# icons do projeto, e vai mudar para Gold2 quando o mouse
# estiver sobre
#
#----------------------------- EN [English]-------------------------------
# (I apologize if errors occur in English,
# my English is a little rusty.
# How to Use:
# - call the class in your code.
# Image_Button.new(window,x,y,imageonmouseout,imageonmouseover,type)
#
# WHERE:
# Window: the window that the button will display.
# x: x coordinate
# y: y coordinate
# imageonmouseout: default image
# imageonmouseover: image to change.
# type: Icon or Picture
#
# Example:
# @button = Image_Button.new(self,100,40,"Gold","Gold2","image").
#
# This example will do a bitmap gold of the folder picture
# in the project, and will change to Gold2 when the mouse is over.
#----------------------------------------------------------------#
#----------------------------------------------------------------#
class Image_Button < Widget
attr_accessor :mask
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(win,x,y,imageonmouseout,imageonmouseover,type,&block)
super(win,x, y)
@imageout = check_type(type,imageonmouseout)
@imageover = check_type(type,imageonmouseover)
@block = block
refresh
end
#--------------------------------------------------------------------------
# Draw the button text, and create the mask.
#--------------------------------------------------------------------------
def refresh
@s.bitmap = Bitmap.new(@imageout.width,@imageout.height)
@s.bitmap.blt(0,0,@imageout,Rect.new(0,0,@s.bitmap.width,@s.bitmap.height))
@mask = Sprite.new(win.viewport)
@mask.x=@s.x
@mask.y=@s.y
@mask.visible= false
@mask.z = 5000
@mask.bitmap = @imageover
end
#--------------------------------------------------------------------------
# Dispose the mask, and itself
#--------------------------------------------------------------------------
def dispose
@mask.dispose
super
end
#--------------------------------------------------------------------------
# Frame update, check the mask status, and active status
#--------------------------------------------------------------------------
def update
@mask.visible= false if @mask.visible and !visible
if visible
@mask.x=@s.x if @mask.x != @s.x
@mask.y=@s.y if @mask.y != @s.y
@mask.update
if in_area?
@mask.visible=true
else
@mask.visible=false
end
self.active=false if self.active
@s.opacity = Window_Edits::Button_Active_Opacity if @s.opacity<Window_Edits::Button_Active_Opacity
end
super
end
#--------------------------------------------------------------------------
# Change the button opacity when clicked
#--------------------------------------------------------------------------
def clicked
#$game_system.se_play($data_system.decision_se)
@s.opacity -= Window_Edits::Button_Not_Active_Opacity if @s.opacity==Window_Edits::Button_Active_Opacity
if @block != nil
@block.call
else
self.active = true
end
end
#--------------------------------------------------------------------------
# Visible
#--------------------------------------------------------------------------
def visible=(v)
@mask.visible=v if @mask != nil
@s.visible = v if @s != nil
end
#-------------------------------------------------------------------------
# Type
#--------------------------------------------------------------------------
def check_type(type,image)
case type
when "image"
return RPG::Cache.picture(image)
break
when "icon"
return RPG::Cache.icon(image)
break
end
end
end
Screens
Não tenho aqui, mas nem precisa pois varia de acordo com a imagem que escolher.
Créditos
Nanzin
_________________
Re: Botões por imagem
O script está muito bom. É como o widget icon ne, só que com interação.
Só fiquei curioso porq vc ter postado e não o nanzin...
Só fiquei curioso porq vc ter postado e não o nanzin...
Re: Botões por imagem
Realmente parabéns!
@RD12 acho que o nanzin não está mais entrando no fórum..
@RD12 acho que o nanzin não está mais entrando no fórum..
_________________
heyitily- Experiente
- Mensagens : 421
Créditos : 12
Re: Botões por imagem
O Nanzin me pediu ontem para postar, acho que sie lah, não conseguia entrar na conta dele aqui, ai eu vim e postei xD
_________________
Re: Botões por imagem
só retratando , é ideal que as 2 imagens possuam a mesmas dimensões para um perfeito funcionamento.
:)
:)
_________________
Para Aqueles que gostam de Min e de meu Trabalho;
Upem Meu Pet nao custa nda!!
- Pet:
Nanzin- Membro de Honra
- Mensagens : 1550
Créditos : 252
Tópicos semelhantes
» Tamanho da imagem
» Botão por imagem
» Tempo na imagem
» Transformação por imagem
» Transformação por Imagem
» Botão por imagem
» Tempo na imagem
» Transformação por imagem
» Transformação por Imagem
Aldeia RPG :: RPG Maker :: Rpg Maker XP :: Netplays :: Scripts para netplays
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos