Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
WindowManager (Completo)
3 participantes
Aldeia RPG :: RPG Maker :: Rpg Maker XP :: Netplays :: Scripts para netplays
Página 1 de 1
WindowManager (Completo)
Um tempo atrás eu postei um sistema de gerenciamento de janelas porém estava inacabado, hoje como estou voltando a programar a pedido de um amigo, resolvi refazer o sistema e divulga-lo completo e sem erros.
Comandos
Exemplos:
Como instalar?
Vá no script [SC] Net Rmxp Hud, abaixo de:
Para que serve?
O sistema permite um gerenciamento mais limpo e eficaz das janelas do jogo evitando muitas vezes blocos enormes de código. Fora isso, ainda se tem comando pré-definidos que podem ser usados no decorrer do jogo.
Finalizando...
Espero que tenham gostado, e uma dica: Se quer seu jogo mais limpo, use este sistema e possivelmente outros gerenciadores de código como scenes e demais.
O sistemas não é perceptível por screens.
Comandos
WindowManager.newWindow(t, c) # t = Título da janela, c = Classe correspondente
WindowManager.updateWindows # Atualiza todas as janelas ativas
WindowManager.disposeWindows # Da dispose em todas as janelas
WindowManager.showWindow(t) # Exibe a janela (t = título) na tela
WindowManager.closeWindow(t) # Fecha a janela (t = título) e a inativa
WindowManager.listWindows # Exibe o nome e classe de todas as janelas criadas
WindowManager.disposeWindow(t) # Da dispose em determinada janela
WindowManager.closeAll # Fecha todas as janelas abertas
WindowManager.Window(t) # Chama a classe X para poder usar métodos internos
Exemplos:
- Código:
WindowManager.newWindow("X", WindowX.new)
WindowManager.showWindow("X")
WindowManager.closeWindow("X")
WindowManager.disposeWindow("X")
WindowManager.listWindows
Como instalar?
Vá no script [SC] Net Rmxp Hud, abaixo de:
- Código:
def dispose
- Código:
WindowManager.disposeWindows
- Código:
def update
- Código:
WindowManager.updateWindows
- Código:
def initialize(x, y, width, height)
super()
@windowskin_name = $game_system.windowskin_name
self.windowskin = RPG::Cache.windowskin(@windowskin_name)
self.x = x
self.y = y
self.width = width
self.height = height
self.z = 100
end
- Código:
def show
self.visible = true
self.active = true
end
def close
self.active = false
self.visible = false
end
- Código:
#==================================================================
# WindowManager - Por Paulo Soreto
#==================================================================
module WindowManager
@windows = {}
def self.newWindow(t, c)
@windows[t].nil? ? @windows[t] = c : return
end
def self.updateWindows
@windows.each{|w| w[1].update if w[1].active}
end
def self.disposeWindows
for w in @windows
w[1].dipose
@windows.delete(w[0])
end
end
def self.showWindow(t)
return if @windows[t].nil?
@windows[t].show
end
def self.closeWindow(t)
return if @windows[t].nil?
@windows[t].visible ? @windows[t].close : return
end
def self.disposeWindow(t)
return if @windows[t].nil?
@windows[t].dispose
@windows.delete(t)
end
def self.listWindows
strWindows = ""
@windows.each{|w| strWindows += w[0] + " >> " + w[1].to_s + "\n"}
print strWindows
end
def self.closeAll
@windows.each{|w| w[1].close if w[1].visible}
end
def self.Window(t)
return @windows[t] unless @windows[t].nil?
end
end
Para que serve?
O sistema permite um gerenciamento mais limpo e eficaz das janelas do jogo evitando muitas vezes blocos enormes de código. Fora isso, ainda se tem comando pré-definidos que podem ser usados no decorrer do jogo.
Finalizando...
Espero que tenham gostado, e uma dica: Se quer seu jogo mais limpo, use este sistema e possivelmente outros gerenciadores de código como scenes e demais.
O sistemas não é perceptível por screens.
Última edição por Paulo Soreto em Sex Fev 07, 2014 11:05 pm, editado 2 vez(es)
_________________
Re: WindowManager (Completo)
Ficou bem legal, mas tem uma desvantagem que é não poder chamar qualquer método, por ter apenas os pré-definidos.
Então uma dica: você pode usar o método send, que todo objeto do ruby tem.
exemplo: WindowManager.call("X", "refresh")
Então uma dica: você pode usar o método send, que todo objeto do ruby tem.
- Código:
def self.call(t,m) #m=method
return if @windows[t].nil?
@windows[t].visible ? @windows[t].send(m): return
end
exemplo: WindowManager.call("X", "refresh")
Re: WindowManager (Completo)
Acabei de adicionar uma opção pra isso.
- Código:
WindowManager.Window("WindowX").Método
_________________
Re: WindowManager (Completo)
Com muito valor que dou +1 , pessoal não valoriza o que evita a merda do lag nos jogos deles, isso dá raiva, se fosse uma window ai com algo escrito "Hello World" todos te valorizaria! Parabéns manolo vai ajudar muito.
_________________
Secti MaInE - Mapa de Informações Estratégicas do Rio de Janeiro.
http://maine.rj.gov.br/
http://maine.rj.gov.br/
eMuseu - Museu Nacional do Esporte.
https://www.emuseudoesporte.com.br/
Memórias - Memórias de Oswaldo Cruz(App Hibrido Ionic).
Link do APP na playstore
Projetos citados acima foram produzidos com equipes no qual eu participei como programador Frontend e UI Design/UX Design.
Skype: Renan.vieiraa
Facebook: /renandesign
E-mail: renanvieira.webdesign@gmail.com
ou entre em contato via MP.
Re: WindowManager (Completo)
Obrigado Renan. Sim, é muito comum a desvalorização de sistemas não perceptíveis de primeiro olhar. Mas creio que com o tempo os makers irão cair na real e perceber que um jogo não se faz só de aparência, o interior também tem que estar limpo caso contrário ocorrerá os diversos problemas que já vimos aqui no fórum como lag, bugs, desorganização e outros...
_________________
Tópicos semelhantes
» WindowManager
» Perfect Aim [Completo]
» Tudo Completo
» Movido: Tudo Completo
» Sistema Voar Completo!
» Perfect Aim [Completo]
» Tudo Completo
» Movido: Tudo Completo
» Sistema Voar Completo!
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