Maker Town
Bienvenido a Maker Town.
Click en No anunciar para eliminar esta ventana.

Click en registrarte para convertirte miembro de maker town en 3 sencillos pasos.
Si ya eres usuario registrado, haz click en conectarse para Loguearte.

Recuerda que los usuarios registrados tienen muchos beneficiós.


Entra al mudo del Rpg Maker Vx, Xp, 2k y 2k3
 
PortalÍndiceFAQBuscarMiembrosGrupos de UsuariosRegistrarseConectarse
Temas importantes
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Acceso Rápido:
Hora
Rpg Music Box
Chat

[ Copy this | Start New | Full Size ]
Maker Town News
Noticias y trucos de Maker Town aquí.
Bookmarking social
Bookmarking social Digg  Bookmarking social Delicious  Bookmarking social Reddit  Bookmarking social Stumbleupon  Bookmarking social Slashdot  Bookmarking social Yahoo  Bookmarking social Google  Bookmarking social Blinklist  Bookmarking social Blogmarks  Bookmarking social Technorati  

Conserva y comparte la dirección de MakerTown en tu sitio de bookmarking social
Buscar
 
 

Resultados por:
 
Rechercher Búsqueda avanzada
Últimos temas
» Hola, soy nvo. por aqui
por ZChang Mar Ene 03, 2012 6:24 pm

» Counter Strike 1.6
por ZChang Lun Feb 28, 2011 3:07 am

» Algo sobre la SGAE
por ZChang Dom Feb 27, 2011 11:32 pm

» Half life no steam
por myenemy Dom Feb 27, 2011 11:26 pm

» draw with me
por ZChang Mar Feb 01, 2011 9:46 pm

» Pokémon Starter Kit 100% Español
por mag744 Lun Ene 31, 2011 12:15 am

» Juego ´´A EPIC GAME´´ (juego de comedia)
por mag744 Mar Ene 25, 2011 3:50 am

» Historias de un heroe
por thedarkhero Sáb Ene 22, 2011 10:48 pm

» Archipielago Usura
por myenemy Sáb Ene 22, 2011 10:24 pm

» La peli del huevo
por myenemy Sáb Ene 22, 2011 12:20 am

Contador Rpg
Mejores posteadores
ZChang (366)
 
myenemy (214)
 
Habbopixels2 (180)
 
555Goku5551 (96)
 
mag744 (46)
 
carlosjavierr (40)
 
kyonides-arkanthos (27)
 
Webmaster24 (23)
 
Makerking (8)
 
thedarkhero (7)
 
¿Quién está en línea?
En total hay 2 usuarios en línea: 0 Registrados, 0 Ocultos y 2 Invitados

Ninguno

La mayor cantidad de usuarios en línea fue 29 el Dom Sep 10, 2017 2:35 pm.
Aliados
Foros Foros

Comparte | 
 

 Hud corazones tipo zelda...

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
ZChang
Admin
Admin
avatar

Mensajes : 366
Fecha de inscripción : 31/05/2010
Edad : 19
Localización : Aquí xD

MensajeTema: Hud corazones tipo zelda...   Vie Jun 25, 2010 5:31 am

Salu2 ! Aquí un script de un Hud tipo Zelda, (en corazones xD)

Se dividen en 4/4 ; 3/4 ; 2/4 ; 1/4 ; 0/4


Screens:
 

E aqui el script...

Código:
# ================================================= ============================
#Zelda OmegaX Sistema de Salud.
# Autor: Omegas7
#Editor: TigreX
#Versión #: 0,1.
# ================================================= ============================
#Descripción
# Simula un sistema de Zelda Corazones: Un HUD que representará a su HP con
# Gráficos corazón. Cada corazón es un valor de 4 HP (4 fragmentos).
# ================================================= ============================
# Notas:
# Sólo asegúrese de que la vida del jugador es un múltiplo de 4 de tener esta
# Funciona correctamente!
# =============================================================================

module OmegaX
  module ZeldaHealth
    HeartsPerRow = 10
    HeartGraphic = 'Heart'
    HeartBack = 'HeartBack'
   
    SWITCH = 1
  end
end

class ZeldaHealth
  include OmegaX::ZeldaHealth
  def initialize
    @member = $game_party.members[0]
    @id = 0
    if @member != nil
      @id = @member.id
      @hp = $game_party.members[0].hp
      @maxhp = $game_party.members[0].maxhp
    end
    @backs = []
    @hearts = []
    @switch = $game_switches[SWITCH]
    draw_sprites if @id != 0
    refresh if @id != 0
  end
  def clear
    for i in 0...@hearts.size
      @hearts[i].finish
      @hearts[i] = nil
      @backs[i].finish
      @backs[i] = nil
    end
    @hearts.compact!
    @backs.compact!
  end
  def draw_sprites
    row = 0
    requirement_for_row = HeartsPerRow
    x = 0
    for i in 0...((@maxhp/4.0).ceil)
      if i < requirement_for_row
        @backs.push(ZeldaHeartBack.new(x,row))
        @hearts.push(ZeldaHeart.new(x,row))
        x += 1
      else
        row += 1
        x = 0
        requirement_for_row += (HeartsPerRow)
        @backs.push(ZeldaHeartBack.new(x,row))
        @hearts.push(ZeldaHeart.new(x,row))
        x = 1
      end
      @hearts[@hearts.size - 1].visible(@switch)
      @backs[@hearts.size - 1].visible(@switch)
    end
  end
  def refresh
    hp = @hp
    done = false
    if hp > 0
      for heart in 0...@hearts.size
        for switch in 0...@hearts[heart].switches.size
          if @hearts[heart].switches[switch] == false && hp > 0
            @hearts[heart].switches[switch] = true
            hp -= 1
            done = true if hp <= 0
          end
        end
      end
    end
    for i in 0...@hearts.size
      @hearts[i].update
    end
  end
  def update
    if $game_party.members[0] == nil
      if @id != 0
        @id = 0
        finish
      end
    else
      if @id != $game_party.members[0].id
        @id = -1
      end
    end
    if @id != 0
      if @hp != $game_party.members[0].hp ||
        @maxhp != $game_party.members[0].maxhp ||
        @switch != $game_switches[SWITCH] ||
        @id != $game_party.members[0].id
        @id = $game_party.members[0].id
        @switch = $game_switches[SWITCH]
        @hp = $game_party.members[0].hp
        @maxhp = $game_party.members[0].maxhp
        clear
        draw_sprites
        refresh
      end
    end
  end
  def finish
    for i in 0...@hearts.size
      @hearts[i].finish
      @backs[i].finish
    end
  end
end

class ZeldaHeartBack
  include OmegaX::ZeldaHealth
  def initialize(index,row)
    @sprite = Sprite_Base.new
    @sprite.bitmap = Cache.system(HeartBack)
    @sprite.x = index * @sprite.width
    @sprite.y = row * @sprite.height
    @sprite.z = 100
  end
  def visible(value)
    @sprite.visible = value
  end
  def finish
    @sprite.dispose
  end
end

class ZeldaHeart
  include OmegaX::ZeldaHealth
  attr_accessor :switches
  def initialize(index,row)
    bitmap = Cache.system(HeartGraphic)
    @switches = [false,false,false,false]
    @current = [false,false,false,false]
    @parts = []
    @sprite = Sprite_Base.new
    @sprite.bitmap = Bitmap.new(bitmap.width,bitmap.height)
    @sprite.x = index * bitmap.width
    @sprite.y = row * bitmap.height
    @sprite.z = 101
    for i in 0...4
      @parts.push(Bitmap.new(bitmap.width/2,bitmap.height/2))
      case i
      when 0
        @parts[i].blt(0,0,bitmap,Rect.new(0,0,bitmap.width/2,bitmap.height/2))
      when 1
        @parts[i].blt(0,0,bitmap,Rect.new(bitmap.width/2,0,bitmap.width/2,bitmap.height/2))
      when 2
        @parts[i].blt(0,0,bitmap,Rect.new(0,bitmap.height/2,bitmap.width/2,bitmap.height/2))
      when 3
        @parts[i].blt(0,0,bitmap,Rect.new(bitmap.width/2,bitmap.height/2,bitmap.width/2,bitmap.height/2))
      end
    end
  end
  def update
    if @current != @switches
      refresh
    end
  end
  def refresh
    @sprite.bitmap.clear
    @current = @switches
    for i in 0...@current.size
      if @current[i]
        case i
        when 0
          @sprite.bitmap.blt(0,0,@parts[i],Rect.new(0,0,@parts[i].width,@parts[i].height))
        when 1
          @sprite.bitmap.blt(@parts[i].width,0,@parts[i],Rect.new(0,0,@parts[i].width,@parts[i].height))
        when 2
          @sprite.bitmap.blt(0,@parts[i].height,@parts[i],Rect.new(0,0,@parts[i].width,@parts[i].height))
        when 3
          @sprite.bitmap.blt(@parts[i].width,@parts[i].height,@parts[i],Rect.new(0,0,@parts[i].width,@parts[i].height))
        end
      end
    end
  end
  def visible(value)
    @sprite.visible = value
  end
  def finish
    @sprite.dispose
  end
end



class Scene_Map
  alias omegax_zelda_health_initialize initialize
  alias omegax_zelda_health_update update
  alias omegax_zelda_health_terminate terminate
  def initialize
    omegax_zelda_health_initialize
    @zeldahealth = ZeldaHealth.new
  end
  def update
    omegax_zelda_health_update
    @zeldahealth.update
  end
  def terminate
    omegax_zelda_health_terminate
    @zeldahealth.finish
  end
end

Y esta es la demo:
Demo
Si quieres cambiar los corazones en la carpeta system estan las imagens
cambialas por las que quieras y poneles el mismo nombre.

Mi opinion:
Spoiler:
 

~~~~~~~~~~~~~




Volver arriba Ir abajo
Ver perfil de usuario http://makertown.foro-activo.es
 
Hud corazones tipo zelda...
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» [RPG Maker VX] Tutorial de Puzzles II
» The Legend of Zelda: Hyrule Chronicles
» imagenes de todo tipo estan curas XD !!!
» club zelda
» Videos de todo tipo

Permisos de este foro:No puedes responder a temas en este foro.
Maker Town :: RGSS y más lenguajes :: Scripts (Vx)-
Cambiar a: