T

TorrencyPower

Usuario

Primer post: 6 feb 2015Último post: 9 feb 2015
2
Posts
56
Puntos totales
3
Comentarios
Curso de GML: Iluminación sensilla
Curso de GML: Iluminación sensilla
Hazlo Tu MismoporAnónimo2/6/2015

Curso de GML: Iluminación sensilla Iluminación Básica En esta ocasión aprenderemos a crear un simple sistema de iluminación mediante la utilización de surfaces. El tutorial será realizado con la versión GMS 1.4+, pero funciona con cualquier versión a partir de Game Maker Pro 8.1, no funciona en la versión lite y no ha sido probado en versiones más antiguas de Game Maker, pero puede funcionar igualmente. Recursos Nescesarios Los pueden encontrar en mi web: http://desarrollocreativo.weebly.com/iluminacioacuten-baacutesica.html Nota Los nombres de los recursos son colocados entre comillas, y no es necesario utilizar los mismos siempre y cuando lo tengan en consideración a la hora de escribir el código. Tutorial Para comenzar primero crearemos un nuevo proyecto, dentro del mismo crearemos un sprite "spr_luz" al cuál centraremos el origen, y un background "back_pueblo". Una vez hecho esto crearemos dos objetos, uno que servirá de ambiente y lienzo al que llamaremos "obj_surface", y otro que utilizaremos para iluminar "obj_luz". Dentro del "obj_surface" añadiremos un evento Create, y en él, un bloque de código con la siguiente escritura: /////Create global.luz = surface_create(view_wview,view_hview); Ésto lo que hará será crear una una superficie almacenada en una variable global "luz", sobre la cual luego se dibujarán los elementos que indiquemos. A continuación añadiremos un evento Step, y en él, un bloque de código con la siguiente escritura: /////Step surface_set_target(global.luz); draw_set_color(c_ltgray); draw_rectangle(0,0,view_wview,view_hview,false); surface_reset_target(); Éste código establecerá la surface sobre la cuál actuaremos, se establece un color de dibujo ("c_ltgray", gris claro) y luego se dibuja un rectángulo en la posición 0,0 (x,y) del ancho y alto de la view o cámara del juego (view_wview,view_hview) y al final un "false" que indica que debe estar relleno de color, en caso de colocar "true" únicamente dibujaría el borde del mismo. La acción "surface_reset_target();" resetea la superficie para volver a dibujarla en el próximo "Step" Nuevamente añadiremos otro evento, en este caso uno de Draw con el siguiente código: /////Draw draw_set_blend_mode(bm_subtract); draw_surface(global.luz,view_xview,view_yview); draw_set_blend_mode(bm_normal); La función "draw_set_blend_mode()" es un poco compleja de explicar, pero básicamente establece el modo en el que se dibujrán los pixeles, luego de esto se dibuja la superficie y para finalizar se vuelve a la normalidad el modo de dibujo. Para finalizar nos dirigimos al "obj_luz", le asignamos el sprite del foco y en él agregamos un evento Step End con el siguiente código: /////End Step size= 128; color=c_white draw_set_blend_mode(bm_subtract); surface_set_target(global.luz); draw_ellipse_color(x-size/2-view_xview,y-size/2-view_yview,x+size/2-view_xview,y+size/2-view_yview,color,c_black,false); surface_reset_target(); draw_set_blend_mode(bm_normal); De ésta forma establecemos el tamaño de la luz (128) y el color de la misma, como anteriormente lo hicimos, modificamos el modo de dibujo antes de añadir un elipse la surface que creamos el objeto "obj_surface". Ya hemos terminado, pero si deseamos evitar que la imagen de la bombilla sea visible durante el juego simplemente debemos añadir el siguiente código en el evento Create del "obj_luz", el cual eliminará el sprite. /////Create sprite_index = noone Preparando el Room Lo siguiente es colocar todo ésto en un nuevo Room. Crea uno y ponle el background, el "obj_surface" en alguna parte(solo hace falta uno) y agrega todos los "obj_luz" dónde quieras y ya está todo listo. Felicitaciones Si ha llegado hasta aquí debería tener lista la iluminación, felicitaciones. Anímese Anímese a modificar los colores y el tamaño, tal vez se lleve algunas sorpresas, que el blanco es negro y el negro es blanco? que el naranja es azul? Ésto se debe al modo de dibujo que establecimos al dibujar el rectángulo. ¿Y entonces porqué la luz si respeta el color? Bueno compañero, tampoco lo sé todo yo. Los recursos están disponibles en mi web: http://desarrollocreativo.weebly.com/iluminacioacuten-baacutesica.html

45
0
Curso de GML: Shooter Zombie (TDS) #1
Curso de GML: Shooter Zombie (TDS) #1
Hazlo Tu MismoporAnónimo2/9/2015

Shooter Zombi(TDS) #1 Movimiento, vista y disparo En ésta primera parte del curso Shoter Zombi (TDS) nos ocuparemos del movimiento del jugador, su vista dirigida hacia el mouse y el disparo. El tutorial será realizado con la versión GMS 1.4+, pero funciona con cualquier versión a partir de Game Maker Pro 8.1, no funciona en la versión lite y no ha sido probado en versiones más antiguas de Game Maker, pero puede funcionar igualmente. Recursos Necesarios Los pueden encontrar en mi web: http://desarrollocreativo.weebly.com/shooter-zombitds-1-movimiento-vista-y-disparo.html Nota: Los nombres de los recursos son colocados entre comillas, y no es necesario utilizar los mismos siempre y cuando lo tengan en consideración a la hora de escribir el código.  Tutorial Sprites Para comenzar primero crearemos un nuevo proyecto, dentro del mismo crearemos un sprite "spr_jugador_1", de origen x=16 y=32, un sprite "spr_bala_1", de origen x=-39 y=-6, otro sprite "spr_caja_1" con origen x=0 y=0 y por último uno llamado "spr_colision_1" que debe estar centrado y con la casilla "Precise collision checking" marcada. Debe utilizar éstos orígenes para los sprites que nosotros les otorgamos, en caso de utilizar otros los orígenes deberán establecerlos dependiendo de los mismos. Obj_jugador Una vez hecho esto crearemos un objeto llamado "obj_jugador", cuyas propiedades deben ser visible y sólido. A éste deberemos cambiarle la máscara de colisión por el del sprite "spr_colision_1", lo podemos hacer mediante las propiedades del objeto o colocando el siguiente código en el evento Create. /////Create mask_index=spr_colision_1 Dentro del mismo añadiremos un evento Step o Paso, y en él, un bloque de código con la siguiente escritura: /////Step rot=point_direction(x,y,mouse_x,mouse_y) scr_wasd_move(8) scr_flechas_move(8) Ésto lo que hará será establecer una variable (rot) que contendrá el ángulo existente entra la posición del jugador y la del mouse, luego colocamos uno de los scripts de movimiento(o ambos), con una velocidad de 8. En Game Maker, el ángulo que se utiliza como para la rotación de un sprite es el ángulo 0º, por éste motivo es que las imágenes deben estar mirando hacia la derecha. Nota: esto también podría hacerse modificando el image_angle, pero a veces tendrás problemas con las colisiones, por eso decidí explicarlo de ésta manera. A continuación añadiremos un evento Draw, y en él, un bloque de código con la siguiente escritura: /////Draw draw_sprite(mask_index,0,x,y) draw_sprite_ext(sprite_index,image_index,x,y,1,1,rot,c_white,1) Éste código dibujará dos cosas, primero la sprite de la máscara de colision, simplemente para que revisen que esté ubicada correcramente, pueden borrarlo luego, y después dibuja el sprite del jugador, en sus posciciones de x e y, con el ángulo establecido(rot), el color "c_white" para que no haga cambios en el color del sprite y un alpha de 1, es decir completamente visible. Obj_caja Ahora crearemos un nuevo objeto llamado "obj_caja", al que le aplicaremos las propiedades de visible y sólido y le asignamos el sprite "spr_caja_1" simplemente. Obj_bala_1 Nuevamente añadiremos otro objeto, el "obj_bala_1" con el siguiente código en el evento Create: /////Create image_angle=point_direction(x,y,mouse_x,mouse_y) move_towards_point(mouse_x,mouse_y,15) De ésta manera la "obj_bala_1" se creará en dirección al mouse, y se dirigirá a éste a una velocidad de 15. Luego, en el evento de colisión con el "obj_caja" colocamos lo siguiente para que la bala se destruya: /////Colision instance_destroy() Obj_jugador Para finalizar volvemos al "obj_jugador" y le agregamos la siguiente linea en el evento Step: if mouse_check_button_pressed(mb_left){instance_create(x,y,obj_bala_1)} A partir de éste momento cuando hagas click se creará una bala, que, por lo establecido antes, saldrá en dirección del mouse. Ahora en el evento de colisión con el "obj_caja" colocamos éste código: /////Colision hspeed=0 vspeed=0 Preparando el Room Lo siguiente es colocar todo ésto en un nuevo Room, pon a tu jugador a disparar contra algunas cajas. Felicitaciones Hasta aquí llega la primera parte de éste tutorial, nos vemos en la próxima... Anímese Anímese a agregarle todo lo que quiera y a intentar avanzar por su cuenta, esto es un guía, no un manual de instrucciones, no necesita hacer todo al pie de la letra. Los recursos están disponibles en mi web: http://desarrollocreativo.weebly.com/shooter-zombitds-1-movimiento-vista-y-disparo.html

11
3
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.