Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Alfonsos1

Páginas: 1 2 3
1
Preguntas y respuestas / Cambiar sprite del cursor
« en: Agosto 01, 2010, 12:41:53 am »
quiero que en unaslas rooms se vea  la flecha que todos conocemos, a esepcion de una room, en la cual quiero que se vea un sprite en lugar del cursor

2
Preguntas y respuestas / Funcion para invertir sprite?
« en: Julio 28, 2010, 08:08:07 pm »
quiero un funcion que me divuje el sprite de abajo para arriba, osea invertido

3
supongamos que tengo un objeto con un sprite A y una mask B, ambas (A y B) tienen varias subimagenes, por ejemplo A tiene 5 subimagenes y B tiene 3 subimagenes.

el image_index: ademas de determinar la subimagen del sprite que el objeto dibuja, determina la subimagen que utiliza la mask en las coliciones?

El image_angle: ademas de determinar el angulo con el que el objeto dibuja el sprite, determina al agnulo que utiliza la mask en las coliciones?

4
Uso tiles de 8*8 y la room mide 1984*1984
a medida de que pongo tiles veo que bajan los fps
A este ritmo para cuando complete de poner los tiles en el room, los fps ban a haber bajado de lo deseado (60 fps)

se puede?

La view mide 400*400

5
Que hacen las funciones instance_deactivate_... ?

6
Preguntas y respuestas / Ayuda con surface
« en: Junio 21, 2010, 07:32:03 pm »
lo que quiero es:

a cada evento draw crear una surface toda transparente, y dibujarle algunas cosas dentro, luego dibujar esa surfase en pantalla.

pero se ve como borroso y orrible!

el codigo es este:

create:
Código: [Seleccionar]
global.sur = surface_create(500,500);

draw:
Código: [Seleccionar]
surface_set_target(global.sur);
FUNCIONES DE DIBUJO
surface_reset_target();
draw_surface(global.sur,x-250,y-250);

7
Desarrollo de Scripts / DIBUJAR POLIGONO DE 8 LADOS O MENOS
« en: Junio 20, 2010, 05:14:20 am »
Nombre del creador: Alfonsos1

Breve descripción de su función: dibuja un poligono de hasta 8 lados

Versión GM utilizada:  :GM8:

Argumentos:
Citar
x1
y1
x2
y2
x3
y3
x4
y4
x5
y5
x6
y6
x7
y7
x8
y8
en caso de querer dibujar un poligono de menos de 8 lados dejar los ultimos argumentos con un valor de -1

Codigo de script:
Código: [Seleccionar]
verx[0] = argument0;
verx[1] = argument2;
verx[2] = argument4;
verx[3] = argument6;
verx[4] = argument8;
verx[5] = argument10;
verx[6] = argument12;
verx[7] = argument14;
very[0] = argument1;
very[1] = argument3;
very[2] = argument5;
very[3] = argument7;
very[4] = argument9;
very[5] = argument11;
very[6] = argument13;
very[7] = argument15;

if(verx[0] = max(verx[0],verx[1],verx[2],verx[3],verx[4],verx[5],verx[6],verx[7])) A = 0;
if(verx[1] = max(verx[0],verx[1],verx[2],verx[3],verx[4],verx[5],verx[6],verx[7])) A = 1;
if(verx[2] = max(verx[0],verx[1],verx[2],verx[3],verx[4],verx[5],verx[6],verx[7])) A = 2;
if(verx[3] = max(verx[0],verx[1],verx[2],verx[3],verx[4],verx[5],verx[6],verx[7])) A = 3;
if(verx[4] = max(verx[0],verx[1],verx[2],verx[3],verx[4],verx[5],verx[6],verx[7])) A = 4;
if(verx[5] = max(verx[0],verx[1],verx[2],verx[3],verx[4],verx[5],verx[6],verx[7])) A = 5;
if(verx[6] = max(verx[0],verx[1],verx[2],verx[3],verx[4],verx[5],verx[6],verx[7])) A = 6;
if(verx[7] = max(verx[0],verx[1],verx[2],verx[3],verx[4],verx[5],verx[6],verx[7])) A = 7;

puntos = 8;
if(verx[7] = -1) puntos -= 1;
if(verx[6] = -1) puntos -= 1;
if(verx[5] = -1) puntos -= 1;
if(verx[4] = -1) puntos -= 1;
if(verx[3] = -1) puntos -= 1;

vasio = 0;
while(!vasio)
{
 m1 = (very[(A-1+puntos) mod puntos]-very[(A+puntos) mod puntos])/(verx[(A-1+puntos) mod puntos]-verx[(A+puntos) mod puntos]+0.0000000001);
 n1 = very[(A-1+puntos) mod puntos]-m1*verx[(A-1+puntos) mod puntos];
 if( verx[(A+1+puntos) mod puntos]*m1+n1>very[(A+1+puntos) mod puntos]) h1 = 1;
 else h1 = -1;
 
 m2 = (very[(A-1+puntos) mod puntos]-very[(A+1+puntos) mod puntos])/(verx[(A-1+puntos) mod puntos]-verx[(A+1+puntos) mod puntos]+0.0000000001);
 n2 = very[(A-1+puntos) mod puntos]-m2*verx[(A-1+puntos) mod puntos];
 if(verx[(A+puntos) mod puntos]*m2+n2>very[(A+puntos) mod puntos]) h2 = 1;
 else h2 = -1;
 
 m3 = (very[(A+puntos) mod puntos]-very[(A+1+puntos) mod puntos])/(verx[(A+puntos) mod puntos]-verx[(A+1+puntos) mod puntos]+0.0000000001);
 n3 = very[(A+puntos) mod puntos]-m3*verx[(A+puntos) mod puntos];
 if(verx[(A-1+puntos) mod puntos]*m3+n3>very[(A-1+puntos) mod puntos]) h3 = 1;
 else h3 = -1;
 
 vasio = 1;
 for(pnt=0;pnt<puntos;pnt+=1)
 {
  if(pnt != (A-1+puntos) mod puntos && pnt != (A+puntos) mod puntos && pnt != (A+1+puntos) mod puntos)
  {
   if((verx[pnt]*m1+n1)*h1>=very[pnt]*h1+0.0000001 && (verx[pnt]*m2+n2)*h2>=very[pnt]*h2+0.0000001 && (verx[pnt]*m3+n3)*h3>=very[pnt]*h3+0.0000001)
   {
    vasio = 0;
   }
  }
 }
 if(!vasio) A = (A+1+puntos) mod puntos;
}

draw_triangle(verx[(A-1+puntos) mod puntos],very[(A-1+puntos) mod puntos],verx[(A+puntos) mod puntos],very[(A+puntos) mod puntos],verx[(A+1+puntos) mod puntos],very[(A+1+puntos) mod puntos],0);

for(ind=A;ind<puntos;ind+=1)
{
 verx[ind] = verx[(ind+1) mod puntos];
 very[ind] = very[(ind+1) mod puntos];
}
verx[puntos-1]=-1;
very[puntos-1]=-1;

if(puntos>3) poligono(verx[0],very[0],verx[1],very[1],verx[2],very[2],verx[3],very[3],verx[4],very[4],verx[5],very[5],verx[6],very[6],verx[7],very[7])

Ejemplos de uso:

Poligono de 8 lados:
poligono(250,250,200,300,200,275,150,275,150,200,175,225,200,225,225,200);

Poligono de 5 lados:
poligono(200,200,250,250,300,200,300,300,200,300,-1,-1,-1,-1,-1,-1);


IMPORTANTE: devido a que el script hace uso de la recurción, el nombre del script deve ser si o si "poligono".

8
Preguntas y respuestas / SCRIPT PARA DIBUJAR UN POLIGONO [solucionado]
« en: Junio 19, 2010, 07:42:34 pm »
Texic me habia dado este script:

Código: [Seleccionar]
/*
 argument0: x1
 argument1: y1
 argument2: x2
 argument3: y2
 argument4: x3
 argument5: y3
 argument6: x4
 argument7: y4
 argument8: outline (true or false)
*/

if argument8 = true then
{
 draw_line(argument0,argument1,argument2,argument3);
 draw_line(argument2,argument3,argument4,argument5);
 draw_line(argument4,argument5,argument6,argument7);
 draw_line(argument6,argument7,argument0,argument1);
}
else
{
 draw_triangle(argument0,argument1,argument2,argument3,argument4,argument5,false);
 draw_triangle(argument4,argument5,argument6,argument7,argument0,argument1,false);
}

pero es solo para cuadrilateros, pense que seria fasil modificarlo para que funcione para poligonos de mas lados, pero no he sabido como.

Alguien tiene o me hace un script para drawear poligonos desde 3 hasta 8 lados pintado en en interior (que no sea solo la linia)

quiero algo asi:
draw_poligone(x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,x8,y8)

si se quiere representar un poligono de menos de 8 lados, los ultimos argumentos se dejan en -1

por ejemplo: un poligono de 7 lados:
draw_poligone(x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,-1,-1)

por ejemplo: un poligono de 3 lados:
draw_poligone(x1,y1,x2,y2,x3,y3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1)

9
Preguntas y respuestas / Como evitar que se vea una sona?
« en: Junio 18, 2010, 08:53:48 pm »
observen la imagen,

en la imagen la sona negra es la que el personaje no alcanza a ver devido al muro.

Quiero hacer eso en mi juego, que la sona no visible quede negra.

mas info:
juego 2D
uso solo un objeto muro que es cuadrado
juego de vista cenital (mirado desde arriba)
la view sigue al personage siempre en el centro

10
No estoy seguro pero creo que cada tile tiene su propio indice.

Hay alguna funcion o manera que te devuelva el indice de un tile que hay en una cierta posicion X,Y?

11
Preguntas y respuestas / Si eres bueno en matematicas ayudame!!!
« en: Mayo 16, 2010, 07:27:47 pm »
Para el juego que estoy haciendo presiso utilizar una funcion (matematica) pero no logro encontrarla.

Por funcion me refiero por ejemplo a:

f(x) = 2*x+3

otro ejemplo:

f(x) = 2*x^2+0.5*x+23

--------

La funcion que presiso requiere de las siguientes caracteristicas:
la funcion siempre deve ser cresiente
f(0) = 0
f(180) = 180
f(90) = 105 0 aproximado
La pendiente en el punto x=0 tiene que ser 0
La pendiente en el punto x=180 tiene que ser 0
La pendiente en el punto x=90 tiene que ser de 2 o 3 aproximadamente
La concabidad desde x=0 asta x=90 tiene que ser positiva
La concabidad desde 90 asta 180 tiene que ser negativa

LES DEJO UNA IMAGEN ADJUNTA PARA QUE LES QUEDE MAS CLARO

12
Preguntas y respuestas / Como empezar con el 3D
« en: Mayo 02, 2010, 01:18:10 am »
Teniendo GM8 pro, no tengo idea de como empezar.

hay qe descargar algo?

me descargue unos ejemplos de la seccion de descargas y hay cosas que me aparesen como "Unknown Action", a que se deve esto  ???

13
Preguntas y respuestas / será posible:... [SOLUCIONADO, si se puede!]
« en: Abril 23, 2010, 07:34:16 pm »
quisiera hacer un juego tipo Worm Wordl Party, pero no se me ocurre ninguna idea para hacer que cuando esplote algo, parte del mapa se destrulla.

creo que en el WWP los mapas serian una imagen, la cual es negra en las partes donde hay tierra, y blanca donde no hay nada, para destruir una parte del mapa solo seria modificar la imagen remplazando una parte blanca por una negra, pero el GM no puede modificar imagenes (creo).

------------------

miren esta imagen:

http://foro.elhacker.net/juegos_y_consolas/pidanme_juegos-t274171.0.html%3Bmsg1126368

como veran: el gusano "Zeus" esta en un citio donde al comienzo de la partida habia tierra, pero alguna explocion hizo que desapareciera esa parte de tierra

14
Preguntas y respuestas / sprites rotados
« en: Abril 21, 2010, 01:52:27 am »
cuando se rotan los sprites estos se ven peor

si tenemos un sprite amarillo y verde, cuando lo rotamos todos sus pixeles seguiran siendo amarillos y verdes, aunque, en realidad, algunos pixeles deverian ser de colores intermedios como verde limon.

creo que vi algo sobre esto ahace tiempo pero ya no lo encuentro

15
Desarrollo de Scripts / redondear_azar
« en: Abril 10, 2010, 02:45:59 am »
Nombre del creador: Alfonsos1

Breve descripción de su función: Redondea el número que se le de por argumento hacia arriba o hacia abajo. El porcentaje posibilidades de que el número se redondee hacia arriba, es igual a los decimales del numero multiplicados por 100.

Ejemplo:
redondear_azar(3,574);
Tiene 57,4% de prob. de devolver 4 y 42,6% de prob. de devolver 3.

Versión GM utilizada: :GM8:

Código del Script:
Código: [Seleccionar]
if(argument0-floor(argument0)>random(1)) return ceil(argument0);
else return floor(argument0);

La ventaja de este tipo de redondeo:

floor(1.00) es lo mismo que floor(1.99)
ceil(0.01) es lo mismo que ceil(1.00)
round(0.51) es lo mismo que round(1.49)
redondear_azar(1) no es lo mismo que redondear_azar(1.01)

si se hace un promedio de varios redondear_azar(X), el numero obtenido tendera a X

Páginas: 1 2 3