Mostrar Mensajes

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

Mensajes - metalfox6383

46
Bueno, la idea de eso era utilizarlo para crear un efecto de distorsi?n cuando mi personaje se encuentra afectado por algo t?xico. Por ejemplo, se ve mucho ese efecto de distorsi?n en el juego Yoshi's Island de SNES. Pero s?, entiendo si por el momento no hay algo parecido. Muchas gracias, de todas formas, por el inter?s en averiguarlo.
47
Claro! Muy ?til en realidad.

Ya tengo un par de juegos atractivos y quiero sacarle unos cu?ntos d?lares, a ver c?mo va. Por el momento s?lo tengo el GameMaker y el Windows original (el resto de los programas no, :(, y no es que sea taca?o, peroooooo...)

Muchas gracias, con eso me has ayudado mucho.
48
En el archivo de ayuda da de forma detallada la explicaci?n de esta funci?n, el pen?ltimo par?metro es para saber si la colisi?n ser? precisa con respecto al sprite del objeto con el que colisionar?. Es decir, si te has dado cuenta, hay un color que se toma como el color transparente y no se pinta, entonces, si la colisi?n es precisa, no se tomar? en cuenta estos pixeles transparentes

Imagina un c?rculo, pero el sprite que lo contiene es un cuadrado, cierto, El c?rculo es rojo y el fondo blanco. Cuando usas ese sprite en un juego, el blanco no se pinta, lo toma como el color transparente (eso si en el sprite, esa propiedad est? marcada). Si la colisi?n no es precisa, los pixeles transparentes tambi?n forman parte de la colisi?n, pero si es precisa, no ser?n tomando en cuenta, sino, s?lo aquellos pixeles que s? se pintan.

El ?ltimo par?metro indica si es necesario que esa propiedad de precisi?n de colisi?n est? marcada en el sprite. Ponlo siempre en 1, y con ello, en el sprite que usas, marcas la propiedad "Precise collision cheking".

Sin embargo, puedes probar tambi?n poni?ndolos a 0, y notar?s los cambios haciendo pruebas.

Con respecto a la l?nea de colisi?n, eso tienes que ponerlo en el evento STEP de tu enemigo, as?:

if collision_line(x , y, x + 100*sin(degtorad(direction)), y + 100*cos(degtorad(direction)), ob_heroe, 1, 1) {
<colocar el c?digo que usar?s para disparar al personaje>
};

El XY con las coordenadas de posici?n del enemigo, "direction" es el ?ngulo al que el enemigo se est? dirigiendo. Si el angulo es 0, apunta hacia abajo, 90 apunta a la derecha, 180 hacia arriba y 270 a la izquierda.

Si no estas usando la propiedad "direction". Tendr?as que colocar esta condicional cuatro veces, una para cada direcci?n, pero tienes que usar algo como referencia que te diga exactamente hacia d?nde estas apuntando. Suponiendo que tienes 4 sprites, una para cada direccion, y el sprite 0 es abajo, 1 es derecha, 2 es arriba y 3 es izquierda:

if (sprite_index=0 and collision_line(x,y,x,100+y,ob_heroe,1,1)) {
C?DIGO DE DISPARO
};
if (sprite_index=1 and collision_line(x,y,x+100,y,ob_heroe,1,1)) {
C?DIGO DE DISPARO
};
if (sprite_index=2 and collision_line(x,y,x,y-100,ob_heroe,1,1)) {
C?DIGO DE DISPARO
};
if (sprite_index=3 and collision_line(x,y,x-100,y,ob_heroe,1,1)) {
C?DIGO DE DISPARO
};

Sin trigonometr?a  8)! Jeje. Como ir en bicicleta sin manos.

El usar las funciones amplias hace que tu c?digo sea m?s peque?o y m?s f?cil de corregir. Aunque no puedo negar que cualquiera se enreda. Por otro lado, estoy seguro que este c?digo se puede reemplazar con las herramientas correspondientes ubicadas en la derecha.

Lo que t? buscas hacer es una Inteligencia Artificial, que el objeto act?e de acuerdo a su entorno. Algo muy muy b?sico, claro, pero por lo que veo, no quieres que tu enem?go sea mon?tono, que se mueva de un lado a otro, sino que quieres que persiga, observe, que est? descuidado, etc. M?s caracter?sticas, m?s complejo es el c?digo. Eso est? bien, aumentar las necesidades.

Y no te fastidies por los comentarios, al final todos tratamos de ayudarnos. Aunque ser?a interesante hacer algunas DLL con estas funciones, no?

Por otro lado, sigon sin encontrar el Superglu.
49
Espec?ficamente? Jeje. No creo que se pueda, a menos que quieras que el juego lo hagan otros.

No te desanimes, no es algo complicado, al final todo termina siendo repetitivo y los c?lculos los terminas haciendo una sola vez.

Por cierto, no encuentro esa DLL llamada "superglu". ?Qu? hace espec?ficamente?
50
Para que el texto salte de una l?nea a otra debes agregar chr(13). As?:

mensaje="Linea 1" + chr(13) + "Linea 2";

Si quieres que tu objeto se elimine cuando ha terminado de mostrar el dialogo: Ponle un alarm con el tiempo suficiente para que el mensaje pueda ser le?do y luego destruyes el objeto.
51
Todo valor string debe ir entre comillas.

variable="Hola"

La variable contiene el texto "Hola".

variable=Hola

Aqui la variable se le asigna el mismo valor que una variable llamada Hola.
52
Preguntas y respuestas / Re: Como hacer Flashes...
Noviembre 29, 2009, 10:06:47 PM
Ah, en ese caso, puedes hacerlo mismo (de los tri?ngulos) s?lo que con un c?rculo blancoque crezca desde el punto del poder lanzado y que llene la pantalla y luego (con el valor de alpha) se vuelva transparente.

Suerte.
53
Por lo que he podido entender,  es que t? quieres que el enemigo le dispare a tu personaje s?lo cuando lo est? mirando. Asumo, que si el enemigo est? de espaldas, no disparar?.

Utiliza en el evento STEP de tu enemigo la funci?n collision_line(). Est? funci?n detecta la colisi?n de un objeto (en este caso tu h?roe) y una l?nea definida. el uso es as?:

collision_line(x, y, x + <distancia>, y + <distancia>, ob_heroe, 1, 1);

Los dos primeros par?metros son el punto de partida. Los otros dos siguientes, el punto de llegada de la l?nea.

X,Y son las coordenadas del enemigo. Distancia, es la distancia en la que detectar? al h?roe. De tal manera tienes una l?nea que parte desde el centro del enemigo hacia delante de ?l a cierta distancia (esa l?nea no se dibuja). Cuando esa l?nea choque con el personaje, el enemigo disparar? (debes crear un c?digo para esto).

Ahora, obviamente, t? esperas que esa l?nea se cree en las direcciones N S E O y combinaciones entre ellas. Ah? tendr?s que aplicar un poco de geometr?a y trigonometr?a... A qu? programador no le gusta las matem?ticas?

Aqu? dejo un ejemplo colgado de c?mo conseguir que un objeto gire alrededor de otro. De este ejemplo, puedes extraer las funciones matem?ticas que servir?n para definir la l?nea de visi?n.

Suerte!
54
Hola:

Quisiera saber qu? se necesita para dedicarse a la venta de juegos. Mis dudas puntuales son las siguientes:

* ?Qu? otros programa debo tener que sean originales? El GameMaker de hecho, qu? mas? Tambi?n el Windows? El Photoshop? El 3dSmax? Porque todos mis personajes est?n creados con esos programas.
* Tengo que ser una empresa?
* Es necesario que mis personajes, marcas, t?tulo del juego, est?n registrados?
* ?Cu?nto costar?a un juego al estilo MegaManX, por ejemplo, con algunas mejoras y dem?s?

Gracias.
55
Bueno, ah? va:

En el objeto_2, evento CREATE:
//Se crea una variable llamada angulo.
angulo=0;

En el objeto_2, evento STEP:
//Teniendo como radio 100. Esto se puede variar.

//Se almacenan las coordenadas x,y del objeto que est? en el centro, object0.
x1=object0.x;
y1=object0.y;

//Se averiguan las nuevas coordenadas para nuestro objeto, en funci?n a
//la variable angulo y a las coordenadas del object0.
x = x1 + 100*sin(angulo);
y = y1 + 100*cos(angulo);

//Se va incrementando el angulo, mas valor, el giro es m?s r?pido, pero no tiene efectos tan deseados.
angulo+=0.3;

Ah? cuelgo el archivo para una mejor apreciaci?n.
56
Preguntas y respuestas / Re: Como hacer Flashes...
Noviembre 29, 2009, 08:58:45 PM
Ahi esta un ejemplo del cambio tipo gunbound.
57
Preguntas y respuestas / Re: Como hacer Flashes...
Noviembre 29, 2009, 07:23:30 PM
Ese m?todo suena bien, pero una imagen tan grande como la pantalla podr?a ralentizar el juego. Simplemente crea un objeto en cuyo evento DRAW dibuje un rect?ngulo negro con alpha 0 y luego en el evento STEP haces que este alpha crezca hasta 1.

Pones una condicional para detectar el alpha=1 y cambias la room. Luego, en el mismo evento STEP haces que el alpha decrezca.

Este objeto que crees debe ser de tipo "persistent", para que cuando cambies de room, el objeto no se elimine. Y col?calo con un depth de -1, para que se ponga encima del resto de los objeto en la pantalla.

Incluso, podr?a aconsejarte a imaginar otros tipos de cambio de room. ?Recuerdas el cambio de room de gunbound? Dos tri?ngulos que van creciendo hasta poner en negro la pantalla y luego vuelven a achicarse. Utiliza el mismo m?todo que te he explicado para conseguir ese cambio, queda genial en el juego. Voy a buscarlo y lo colgar?.
58
Dos preguntas en un foro no est? permitido. Recu?rdalo. Quiz? bloqueen tu mensaje.

Bueno, respondiendo antes que eso suceda.

No necesitas de una DLL para hacer la doble tecleada. Utilizando s?lo c?digo yo lo hago hasta con triple tecleada, pero toma su tiempo y dedicaci?n c?digo. Ya que no se te debe escapar los tiempos.

Para darte una idea: crea una variable que acumule el n?mero de veces que vas presionando una tecla. Crea un evento ALARM que ponga a cero esa variable pasado el tiempo l?mite. En el evento STEP escribe la detecci?n cuando aquella variable tenga de valor 2 y que coloque el sprite de correr.

As? puedes hacer todas las "multi tecleadas" que quieras.

Ded?cate mucho al c?digo, es muy ?til y se te van haciendo las cosas m?s simples.

EDIT: Con respecto a lo del flash, te sugiero que escribas eso en otro tema para poder responderte. Es algo simple tambi?n.
59
Preguntas y respuestas / Re: Como Hago una Presentacion??
Noviembre 29, 2009, 01:31:49 AM
Eso es simple. Carga una imagen como sprite. La colocas en un objeto y le das un evento alarm para que desaparezca o te lleve a otra room. Intenta con cosas simples y luego tu imaginaci?n se har? m?s exiquisita, requiriendo de otras cosas.

Suerte.
60
Preguntas y respuestas / Re: sombra juego etrategia T.R.
Noviembre 29, 2009, 12:15:40 AM
Ingres? al foro buscando el "fog of war". Encontr? un ejemplo, se ve bien y util.