Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: eams1986 en Noviembre 07, 2015, 01:48:31 AM

Título: Con sprite o con game maker
Publicado por: eams1986 en Noviembre 07, 2015, 01:48:31 AM
Hola makeros como les va rengo una pregunta se trata de es una forma eficiente de dibujar un cuadro digamos de 1280x720 con game maker o es mejor poner un sprite de colo negro de la misma anchura cual es la mas eficiente .

Gracias
Título: Re:Con sprite o con game maker
Publicado por: Marth en Noviembre 07, 2015, 01:56:40 AM
Deberías explicar mejor que quieres.
¿Quieres crear un sprite con las herramientas de dibujo de game maker? Pues no se. Si es dibujar algo sencillo supongo que es mejor hacerlo con el GM, en vez de con un sprite.
Título: Re:Con sprite o con game maker
Publicado por: eams1986 en Noviembre 07, 2015, 02:14:36 AM
Disculpa tienes razon lo que quiero es dibujar con el.draw de game maker no con sprite como por ejemplo reflejos de un sol .el sol estaria en el centro de la pantalla y salieran reflejos pero dibujados con el draw de game maker no con sprite. .
Gracias
Título: Re:Con sprite o con game maker
Publicado por: Clamud en Noviembre 07, 2015, 04:43:14 AM
Para encontrar la respuesta hice un "profile" de este código:
[gml]
draw_sprite( sprite0,0, 0,0 );
draw_rectangle( 0,0, 1280,720, false );
[/gml]
el sprite dibujado mide 1280x720. Dibujar el sprite es ligeramente más rápido que la otra función, al parecer todas las funciones de dibujo de "formas básicas" y primitivas son más lentas que las de sprites y backgrounds.

Si simplemente quieres llenar la pantalla con un color sólido, entonces es mejor usar draw_clear, como demuestra la imagen adjunta.
Título: Re:Con sprite o con game maker
Publicado por: eams1986 en Noviembre 07, 2015, 05:07:08 AM
Trato de dibujar algo asi pero no tengo ni la.minima idea de poder hacerlo .
Esto lo quiero dibujar a puro codigo
Gracias
Título: Re:Con sprite o con game maker
Publicado por: penumbra en Noviembre 07, 2015, 09:41:59 AM
¿Por qué quieres dibujar eso con código?

Desde luego que se puede dibujar por código, pero en el primer mensaje preguntas por algo eficiente, y si es así, entonces es mucho más eficiente dibujar un sprite que ya tiene la figura que dibujar varios "brazos" para los cuales se tiene que calcular la posición y/o rotación y usar funciones de dibujo de primitivas que son más demandantes. Además, en el sprite se puede incluír un degradado radial en la transparencia, cosa que no sé si se pueda lograr mediante las funciones de dibujo.

Seguramente lo ideal sería usar shaders, pero ahí sí te quedo mal.  :-[

EDITADO:
Los rayos de la izquierda son creados mediante código (primitivas, surfaces, etc). Los de la derecha pertenecen a un sprite. Yo optaría por el sprite (supongo que quedaría aun mejor si se utiliza un editor de gráficos vectoriales).
(http://i.imgur.com/OW2oCYV.png)
Título: Re:Con sprite o con game maker
Publicado por: Marth en Noviembre 07, 2015, 01:48:40 PM
Si, la versión hecha con sprites ha quedado mejor.
Yo usaría las funciones draw para sprites sencillos, para no llenar con mil y un cosas la sección sprites de gm.
Yo en mis juegos uso funciones draw para algunos efectos como explosiones o efectos de golpes, en los cuales hay varios factores como tamaño o coloración que hacen más cómodo usar esos efectos por la alta variedad de factores.
Título: Re:Con sprite o con game maker
Publicado por: Clamud en Noviembre 07, 2015, 04:25:51 PM
Si se pueden dibujar degradados con primitivas, sólo se deben poner colores diferentes a los vértices
(http://i1341.photobucket.com/albums/o747/Clamud/cgm_otros/sol_zpsmwviwhon.png)
eso lo dibujé con este código
[gml]
for( a=0; a<360; a+=36 ) //se dibujan 10 rayos
{
    d3d_transform_set_rotation_z( a ); //cambiar angulo
    d3d_transform_add_translation( x,y,0 );
   
    draw_primitive_begin( pr_trianglestrip ); //rayo
    draw_vertex_colour( 20 ,  5, c_yellow,1 );
    draw_vertex_colour( 20 , -5, c_yellow,1 );
    draw_vertex_colour( 300, 20, c_yellow,0 );
    draw_vertex_colour( 300,-20, c_yellow,0 );
    draw_primitive_end();
}
d3d_transform_set_identity(); //eliminar transformaciones
draw_circle_colour( x,y,30, c_white,c_yellow, false ); //dibujar sol
[/gml]

Como han mencionado, la calidad gráfica sería mejor con sprites: puedes tener bordes suavizados y degradados más elaborados, y todo se dibuja más rápido. El único inconveniente es que se aumentaría el peso del juego, sin embargo, para sprites simples como los que quieres usar, el aumento es insignificante.
Título: Re:Con sprite o con game maker
Publicado por: eams1986 en Noviembre 08, 2015, 04:09:35 AM
Perfecto quedan claras mis dudas XD gracias a todos .
Muy agradecido.