Bueno, he decidido prepararme mi propio arsenal de cosas ways que veo en los tutos de youtube ininglishh haciendo de ellos unos scripts para acomodarme la vida futura, entonces, pues también he decidido, que voy a ir posteándolos para aquí la pípol :D

CREADOR:
Yo, con la ayuda de un video el cual, puse crédito en el script

DESCRIPCIÓN:
Este script es un efecto de oscuridad donde ves a la distancia que escojes (iba con g o con j? :B bah!) la distancia de visión (luz) y esta "choca" con la pared, el efecto es así tipo cuadriculado, de nombre puse light2d porque el del video puso de nombre al tuto "lighting 2D", así que... ahí va el script y adjuntaré un ejemplo (aunque veais todo en inglés, lo he escrito yo, como casi todo lo que hago, a ver si mejoro ya mi penoso inglés xd).

OJO! a su uso, va en evento draw en un objeto que hará de parent, de tooodos los objetos en los que desean tal efecto.

VERSIÓN:
Probado en GM8.0 pero supongo que valdrá para otros, no tiene nada del otro mundo

argument0: a lo que sigue la luz
argument1: objeto de pared, si usan muchas paredes distintas, hagan un parent para todas ellas :)
argument2: distancia (radio) de la luz

Script:
//2D Lighting (object control 'parent' in draw_event)
//-------------
//argument0: object_follow
//argument1: object wall
//argument2: distance (rad)
//
//ex: light2d(obj_player,obj_wall,160);
//IMPORTANT: make the controller object parent of ALL objects that you want this effet!! AND make a floor with objects too

//Script credit: thanks to AntRazorPlay for the greats vtutorials (http://www.youtube.com/channel/UCHgLS14mtauZdtx_F81_eNQ)

light = instance_nearest(x,y,argument0);
if distance_to_object(light) < argument2 and !collision_line(x+16,y+16,light.x,light.y,argument1,1,1)
{
    tr = distance_to_object(light)/argument2;
}
else tr = 1;

ctr = 1;

if tr < ctr ctr = tr;

draw_sprite(sprite_index,image_index,x,y);
draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_angle,c_black,ctr);


Nota: poned suelo eeeh xd
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

El ejemplo no me funcionó en GM 8.1, ni en GMS 1.3, ni en LateralGM 1.8, sólo se ve una pantalla negra.

instance_neaest, distance_to_object, collision_line, draw_sprite y draw_sprite_ext

esas son las funciones que se usan, han cambiado ya desde la 8.1?? me extrañaría mucho, miraste el ejemplo por si te dejas algo? de todos modos, hoy cuando tenga tiempo lo probaré para gms a ver... luego diré algo.
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Cita de: Clamud en Noviembre 18, 2014, 03:58:47 AM
El ejemplo no me funcionó en GM 8.1, ni en GMS 1.3, ni en LateralGM 1.8, sólo se ve una pantalla negra.

En realidad no lo probaste bien, es que kostra puso la room vacía en su ejemplo, trata de llenarla vos.

ui, lol disculpa! parece que no se guardó el ejemplo al crearme la room!

adjunto el ejemplo corregido
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Yo lo he probado en GMS y me ha funcionado. ;D

en el mismo script están los créditos del que pillé la idea, yo la adapté a que sea usable en un script, por cierto, comento esto para darte gracias por comentar, me animaste a tratar de hacer otro así de plasmar otro tutorial en script xd
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Lo voy a probar  :) si funciona como dice me debería ser útil para un proyecto que tengo a futuro.



Sígueme en Twitter!
@Aesir_Games