¡Bienvenido a Universo Maker!
¿Es esta la primera vez que visitas el foro? Si es así te recomendamos que te registres para tener completo acceso a todas las áreas y secciones del foro, así también podrás participar activamente en la comunidad. Si ya tienes una cuenta, conectate cuanto antes.
Iniciar Sesión Registrarme

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo Mensaje [Página 1 de 1.]

#1 [XP] Efectos de luz el Mar Mar 01, 2011 9:04 pm

Reputación del mensaje :100% (1 voto)

D.A.C.

avatar
Script: Efectos de luz
Autor: Near Fantastica
Versión: 3.0

Código:
#================================================================
# Efectos de luz
#================================================================
# Near Fantastica
# Versión: 3
# 28.06.05
# Traducción por: D.A.C.
#================================================================
#================================================================
# En primer lugar, debes añadir una nota en el evento que quieres iluminar con el comentario "Light Effects".
# Seguidamente, debes añadir otra nota en la que debes escoger el tipo de iluminación: "Ground" (Terreno),
# "Fire" (Fuego), "Lamppost" (Farola), "LeftLantern" (Linterna izquierda) o "RightLantern" (Linterna derecha).
#================================================================
class Spriteset_Map
#--------------------------------------------------------------
alias les_spriteset_map_initalize initialize
alias les_spriteset_map_dispose dispose
alias les_spriteset_map_update update
#--------------------------------------------------------------
def initialize
  @light_effects = []
  setup_lights
  les_spriteset_map_initalize
  update
end
#--------------------------------------------------------------
def dispose
  les_spriteset_map_dispose
  for effect in @light_effects
    effect.light.dispose
  end
  @light_effects = []
end
#--------------------------------------------------------------
def update
  les_spriteset_map_update
  update_light_effects
end
#--------------------------------------------------------------
def setup_lights
  for event in $game_map.events.values
    next if event.list == nil
    for i in 0...event.list.size
      if event.list[i].code == 108 and event.list[i].parameters == ["Light Effects"]
        type = event.list[i+1].parameters.to_s
        case type.upcase!
        when "GROUND"
          light_effects = Light_Effect.new(event,type)
          light_effects.light.zoom_x = 200 / 100.0
          light_effects.light.zoom_y = 200 / 100.0
          light_effects.light.opacity = 51
          @light_effects.push(light_effects)
        when "FIRE"
          light_effects = Light_Effect.new(event,type)
          light_effects.light.zoom_x = 300 / 100.0
          light_effects.light.zoom_y = 300 / 100.0
          light_effects.light.opacity = 85
          @light_effects.push(light_effects)
        when "LAMPPOST"
          light_effects = Light_Effect.new(event,"LEFT LAMP POST")
          light_effects.light.opacity = 51
          @light_effects.push(light_effects)
          light_effects = Light_Effect.new(event,"RIGHT LAMP POST")
          light_effects.light.opacity = 51
          @light_effects.push(light_effects)
        when "LEFTLANTERN"
          light_effects = Light_Effect.new(event,type)
          light_effects.light.opacity = 150
          @light_effects.push(light_effects)
        when "RIGHTLANTERN"
          light_effects = Light_Effect.new(event,type)
          light_effects.light.opacity = 150
          @light_effects.push(light_effects)
        end
      end
    end
  end
  for effect in @light_effects
    case effect.type
    when "GROUND"
      effect.light.x = (effect.event.real_x - 200 - $game_map.display_x) / 4
      effect.light.y = (effect.event.real_y - 200 - $game_map.display_y) / 4
    when "FIRE"
      effect.light.x = (effect.event.real_x - 300 - $game_map.display_x) / 4
      effect.light.y = (effect.event.real_y - 300 - $game_map.display_y) / 4
    when "LEFT LAMP POST"
      effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 5
      effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 15
    when "RIGHT LAMP POST"
      effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 25
      effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 15
    when "LEFTLANTERN"
      effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 20
      effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 5
    when "RIGHTLANTERN"
      effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 10
      effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 5
    end
  end
end
#--------------------------------------------------------------
def update_light_effects
  for effect in @light_effects
    next if not in_range?(effect.event)
    case effect.type
    when "GROUND"
      effect.light.x = (effect.event.real_x - 200 - $game_map.display_x) / 4
      effect.light.y = (effect.event.real_y - 200 - $game_map.display_y) / 4
    when "FIRE"
      effect.light.x = (effect.event.real_x - 300 - $game_map.display_x) / 4
      effect.light.y = (effect.event.real_y - 300 - $game_map.display_y) / 4
    when "LEFT LAMP POST"
      effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 5
      effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 15
    when "RIGHT LAMP POST"
      effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 25
      effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 15
    when "LEFTLANTERN"
      effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 20
      effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 5
    when "RIGHTLANTERN"
      effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 10
      effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 5
    end
  end
end
#--------------------------------------------------------------
def in_range?(object)
  screne_x = $game_map.display_x
  screne_x -= 256
  screne_y = $game_map.display_y
  screne_y -= 256
  screne_width = $game_map.display_x
  screne_width += 2816
  screne_height = $game_map.display_y
  screne_height += 2176
  return false if object.real_x <= screne_x
  return false if object.real_x >= screne_width
  return false if object.real_y <= screne_y
  return false if object.real_y >= screne_height
  return true
end
end

#================================================================
# ? Light Effects Class
#================================================================

class Light_Effect
#--------------------------------------------------------------
attr_accessor :light
attr_accessor :event
attr_accessor :type
#--------------------------------------------------------------
def initialize(event, type)
  @light = Sprite.new
  @light.bitmap = RPG::Cache.picture("Luz.PNG")
  @light.visible = true
  @light.z = 1000
  @event = event
  @type = type
end
end

Instrucciones de uso:

  1. Copiar el script encima de 'Main'.
  2. Crear un evento con dos 'Notas': el primero debe decir "Light Effects" (sin las comillas). El segundo debe decir "Ground" (Terreno), "Fire" (Fuego), "Lamppost" (Farola), "LeftLantern" (Linterna izquierda) o "RightLantern" (Linterna derecha) dependiendo de la clase de iluminación que se quiera mostrar en dicho evento.
  3. Finalmente, hay añadir la siguiente imagen en la carpeta 'Pictures' con el nombre "Luz" (sin las comillas).



Imágenes:

Spoiler:

#2 Re: [XP] Efectos de luz el Lun Mar 14, 2011 11:42 pm

HinoTezuka

avatar
Buen script D.A.C., me servira en mi proyecto

#3 Re: [XP] Efectos de luz el Vie Mayo 20, 2011 4:44 am

Faye Valentine

avatar
Muy buena D.A.C, me servira en mi proyecto.

#4 Re: [XP] Efectos de luz el Vie Jun 03, 2011 8:27 am

the-terror-of_death

avatar
disculpa D:A:C, lo pensaba ocupar pero las imagenes se borro podrias colocarla denuevo por favor gracias de antemano

#5 Re: [XP] Efectos de luz el Miér Abr 25, 2012 1:54 am

ElMaster9999

avatar
sarcastic ¿Por que no me sirve?

#6 Re: [XP] Efectos de luz el Miér Abr 25, 2012 6:34 pm

Cuervoso

avatar
ElMaster9999 escribió: sarcastic ¿Por que no me sirve?

¿A qué te refieres con eso? Podrías ser más especifíco. Además, ¿Seguiste las instrucciones dentro del Script? xD.

Saludos!






Cuervoso! No te pases ¬_¬

#7 Re: [XP] Efectos de luz el Jue Ago 16, 2012 3:45 am

Felipe_TK

avatar
Gracias por el script, me ayudo un monton en un proyecto que estoy empesando!

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.