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 - matiascarpello

31
Hola gente.

Tengo un problema y no se como resolverlo.

Tengo la siguiente secuencia que lo que hace es utiizando la sentencia repeat crear 50 bloques.

repeat(50)
{
instance_create(x,y,bloque);
}



Mi problema es que esos bloques se crearán todos en un mismo lugar. Yo necesito que esos bloques se creen uno encima de otro y se apilen hacia arriba. Cada bloque tiene una medida de 32px por lo que se tendrían que mover cada nuevo bloque que se crea, 32px por encima del anterior.

El tema es ¿Cómo hacerlo?
32
Hola gente. Tengo ganas de hacer un juego en Androi distinto. La particularidad sería que el usuario  pueda buscar una foto e insertarla en el juego y usarla como personaje. Sería bastante original. Ya he vistos juegos de ese tipo pero nada que se haya hecho en Game Maker. Por eso, para comenzar con este proyecto y que también les servirá a todos en la comunidad, quisiera que puedan guiarme sobre algunos aspectos que desconozco como por ejemplo.

Tengo pensado dos métodos.

1 - El primero como dije es que el usuario pueda buscar entre las fotos de su galería en android e insertarla en el juego transformándolo en sprite supongo.

2 - La segunda opción creo que sería más fácil y rápido. El usuario se saca una foto a su rostro y dicha foto se convierte en sprite.

Ahora analizando un poco esos dos métodos. Para el primero habría que ver si gms permite o de última con una extensión buscar archivos dentro de android y convertirlos en sprite. Y si es posible, quedaría todavía una parte complicada, que es ajustar la foto de la persona y recortarla de modo que solo se vea el rostro.
Para el segundo punto que lo veo más viable, habría que ver si es posible acceder a la cámara de android y sacar una foto y guardarlo como sprite. Creo que hay una extensión que permite acceder a la cámara de android pero cuesta 9 U$S y tampoco estoy seguro de si es posible importar esa foto tomada al juego.

Bueno, si tienen alguna idea de como implementar este sistema dejen su opinión. Saludos a todos.
33
Cita de: elviskelley en Mayo 06, 2016, 02:30:47 AM
Bueno, te he hecho un ejemplo de como hacerlo, y he usado un codigo muy pero muy simple y que funciona, claro que tenes que agregarle muchas cosas, pero al menos asi ya podes solucionar y continuar el proyecto.
Lo dejo adjunto.

Muchísimas gracias. Excelente ejemplo y ayuda para poder comenzar. Es casi lo que estaba buscando. Faltan pulir un par de cosillas pero teniendo ese tremendo ejemplo como base ya puedo arrancar. Espero no tener que molestar más.  ;D
34
Lo probé y esta muy bueno, solo que no se si es lo ideal para lo que busco porque mi juego será para celulares. Pero repito, agradezco mucho y lo tendré como último recurso si no logro implementar la forma anterior.

Cita de: Javier en Mayo 05, 2016, 08:30:10 AM
Intenta lo siguiente:

Crea un sprite "spr_balon", 32x32 y centralo
Crea un objeto "Balon"

En el evento Create
ini_x=0;
ini_y=0;
curv_x=0;
curv_y=0;
fin_x=0;
fin_y=0;

b=0;
r=0;
curva=0;
trayectoria=0;
dibujar=0;
disparar=0;


En el evento Glob Left Pressed
if(trayectoria==1){
    curv_x=mouse_x;
    curv_y=mouse_y;
    modificar_curva=1;
    dibujar=1;
}else{
    speed=0;
    x=mouse_x;
    y=mouse_y;
    ini_x=mouse_x;
    ini_y=mouse_y;
}


En el evento Glob Left Released
if(trayectoria==0){
    fin_x=mouse_x;
    fin_y=mouse_y;
    trayectoria=1;
}

modificar_curva=0;


En el evento End of Path
speed=20;

ini_x=0;
ini_y=0;
curv_x=0;
curv_y=0;
fin_x=0;
fin_y=0;

b=0;
r=0;
curva=0;
trayectoria=0;
dibujar=0;
disparar=0;


En el evento Draw
draw_sprite(spr_balon,-1,x,y);
if(dibujar==1){
    for(i=0;i<100;i++){
        t=i/100;
        px=power((1-t),2)*ini_x+((2*t)*(1-t)*curv_x)+(power(t,2)*fin_x);
        py=power((1-t),2)*ini_y+((2*t)*(1-t)*curv_y)+(power(t,2)*fin_y);
        draw_point(px,py);
    }
    if(trayectoria==1 && modificar_curva==1){
        curv_x=mouse_x;
        curv_y=mouse_y;
        curva=1;
    }
}else{
    if(trayectoria==0 && ini_x>0){
        draw_line(ini_x,ini_y,mouse_x,mouse_y);
    }else{
        draw_line(ini_x,ini_y,fin_x,fin_y);
    }
}


En el evento <Space>
r=path_add();

if(curva==1){
    for(i=0;i<50;i++){
        t=i/50;
        px=power((1-t),2)*ini_x+((2*t)*(1-t)*curv_x)+(power(t,2)*fin_x);
        py=power((1-t),2)*ini_y+((2*t)*(1-t)*curv_y)+(power(t,2)*fin_y);
        path_add_point(r,px,py,25);   
    }
}else{
    path_add_point(r,ini_x,ini_y,25);
    path_add_point(r,fin_x,fin_y,25);
}

path_set_closed(r,0);
path_start(r,60,0,1);



Agregalo a un Room, y corre el juego, da click y arrastra para crear una linea, luego puedes dar click de nuevo a los lados de la linea para crear la curva y con Space lanzas el balon.

Es solo un ejemplo, lo puedes mejorar y adaptar a lo que necesitas.

Espero te sirva.

Hasta Luego...
35
Cita de: somnus en Mayo 05, 2016, 02:23:36 AM
puedes emular eso usando el sistema de fisicas de GM, pero se me ocurre que tienes que medir la fuerza del swipe, tomas un valor del 1 al 2o, segun la distancia del swipe y aplicas esa fuerza a la velocida en Y y_speed y agregas una fuerza constante a la velocidad en X x_speed, el truco debe de estar en que valores les vas a dar para que se haga dicho movimiento

Gracias por responder. Estuve probando nuevamente el juego que quiero emular y la pelota siempre va a la misma velocidad sin importar la velocidad del swipe. Tambien se me ocurre que cuando uno haga el swife dibuje por asi decirlo un path y que la pelota siga ese path pero no se, no estoy seguro si seria la mejor forma y tampoco que como se podria dibujar haciendo un swipe. Quizas haya otra forma de porder hacerlo.
36
Me imaginé que era algo complicado pero no tanto  :(
37
Hola comunidad. Quisiera saber como podría implementar un sistema para lanzar como en el juego de este video. https://www.youtube.com/watch?v=GEESJLjy8Rk
En ese juego, uno desliza el dedo por la pantalla táctil y la pelota va a esa dirección. Incluso puedo deslizar dibujando una curva sobre la pantalla y la pelota tiene esa curvatura.

Aquí dejo una imagen también para que se entienda. En el cuadro izquierdo se hace ese swipe en la pantalla táctil y en el cuadro derecho se lanza la pelota tomando esa dirección.


Creo que pasándolo a GMS sería utilizar las funciones de los eventos del mouse. Al presionar el botón izquierdo del mouse en un punto, se dibuja un trayecto invisible, y al soltar la pelota se crea y sigue la ruta de la dirección.

Básicamente quizás sea más fácil de lo que pienso, pero no tengo idea como implementarlo.
38
Hola comunidad. ¿Cómo están? tengo una duda y quisiera saber si me pueden dar una mano. ¿Hay alguna función en GMS para cheakear si hay conexión a internet? Porque en mi juego necesito subir una puntuación a una base de datos mysql, pero antes quiero chequear si el usuario dispone de conexión a internet.
39
Preguntas y respuestas / Re:¿COMO PUEDO PONER ESTO?
Marzo 21, 2016, 03:39:29 PM
Amigo, es tremendamente fácil. Te explico de forma resumida. Crea un objeto que se llame obj_perder, entonces ese objeto se encargará de controlar que todo suceda.

Entonces, el objeto obj_perder se creará cuando el usuario pierda en el juego.

Entonces en el evento create del objeto perder, pon un create instance con su coordenada para cada objeto que se va a crear. Por la imagen que pusiste, por ejemplo, podes crear un objeto que sea el fondo, luego otro objeto que sea el boton de repetir nivel y así para cada elemento.

Lo que si, fijate de manejar adecuadamente el depth, para que los botones no se muestren por debajo del objeto de fondo.

Ahora, si tu juego utiliza views, al momento de establecer las cordenadas de x e y para que se cree el objeto tienes que utilizar lo siguiente:

instance_create(view_xview+100,view_yview+200,obj_boton_repeat)

Como ves, ese código crea el boton para reiniciar el nivel dentro de la view, solo tienes que remplazar los valores x e y por los tuyos. En mi ejemplo, les puse 100 al eje x y 200 al eje y
40
Cita de: NiuWeb en Marzo 10, 2016, 12:28:34 AM
¡Número 1!
http://www.comunidadgm.org/preguntas-y-respuestas/(solucionado)-mostrar-registros-de-mysql-en-gms/msg124051/#msg124051

¡Número 2!
http://www.comunidadgm.org/preguntas-y-respuestas/mostrar-informacion-de-una-base-de-datos-mysql-en-el-juego/msg123217/#msg123217

¡El tutorial!
http://www.comunidadgm.org/articulos/crea-tu-juego-online-tutorial-php-mysql-gml-(programacion)/msg121458/#msg121458


En los anteriores enlaces encuentras dos temas en los cuales se ayudó a mostrar registros de una BD en MySQL, y el último enlace es un tutorial que he hecho hace un tiempo para que realices justamente lo que buscas: Publicar registros en una BD MySQL
¡Saludos!

Gracias por el tuto, no lo encontraba a través del buscador del foro. Bueno, la cosa es que no logro insertar datos en la base de datos. Te respondí en el turorial que hiciste. Ojala que me puedas decir que es lo que hice mal.
41
Hola gente. He realizado un juego educativo de preguntas y respuestas sobre historia y geografía en Android. Actualmente en mi colegio los directivos de la institución me felicitaron por la iniciativa y me pidieron que el juego participe en un evento que se desarrolla todos los años en mi colegio y que tiene que ver con promover justamente la educación.

Ellos quieren que a mi juego le añada un sistema para registrar las puntuaciones más altas, y cuando termine el evento que dura 5 días, los estudiantes que tengan la mayor puntuación en mi juego, sean premiados.

Bien, lo de registrar las puntuaciones más altas ya lo tengo y todo funciona. Mi problema es que cuando uno pierda, les tiene que aparecer un formulario para que pongan su nombre y apellido y número de documento. Luego un botón de enviar para justamente enviar esos datos más la puntuación que registró a una base de datos.

Esa es mi gran duda. ya tengo todo el juego hecho pero, ¿como subir el nombre, apellido,número de documento y su puntuación obtenida a una base de datos por ejemplo en Mysql?
42
Hola gente, ya he terminado mi juego para android de preguntas y respuesta. Tiene en total más de 1000 preguntas, y todas ellas son leídas desde un archivo *.ini.

Como son tantas líneas en el archivo *.ini directamente coloque ese archivo en datafile de gamemaker y listo, De esa forma ya las preguntas y sus respuestas correctas son leídas de ese archivo *.ini.

Bien, ahora que ya esta eso explicado voy a mi problema. ¿Es posible actualizar ese archivo *.ini por internet?
Porque de esa forma puedo añadir un botón a mi juego de actualizar preguntas, por lo tanto si el usuario tiene conexión a internet de descarga el archivo *.ini actualizado.

Por supuesto que también esta la opción de actualizar el juego con las nuevas preguntas en google play, pero me parece más práctico y cómodo la opción anterior de actualizar el archivo *.ini online.
43
Cita de: jmbs19 en Febrero 21, 2016, 03:35:57 AM
como ya te dije anteriormente solo debes colocar tu ini ya creado dentro de los include, y ya. aunque no lo veas dentro de tu appdata al testear no te preocupes, que el archivo esta en la carpeta working_directory y, cuando tu lees un archivo externo, este es el segundo lugar que busca el gm. solo mete el ini en los includes y no te preocupes mas, si tu lo llamas dentro de una subcarpeta solo crea el grupo con el nombre de esa carpeta y mete dentro tu ini.

Listo, ya me funciona, solo tenía que copiar el archivo manualmente dentro de include file. Gracias.
44
Hola gente, tengo una consulta. Yo estoy haciendo un juego de preguntas y respuesta y ya lo tengo casi terminado.

El juego lee entre un total de 1000 preguntas de un archivo con extensión *.ini. Y en el juego hago el llamado al archivo con  ini_open("quiz.ini").

Mi problema es que para que el juego lea ese archivo *.ini tengo que copiar ese archivo en la ruta c:/usuario/appdata/local/juegotrivia/quiz.ini

Son muchas líneas para crear el archivo *.ini con todo el contenido, por eso opte por agregarlo manualmente. Además de que el juego esta diseñado para ser publicado en android. Mi pregunta es, ¿Cómo podría incluir de alguna manera ese archivo *.ini cuando se compile el juego en APK?

Podría utilizar un sistema y que lea el archivo *.ini desde internet pero el tema es que yo quiero que la gente no requiera de internet para jugar a mi juego.

Por otro lado, en Gamemaker debajo de rooms hay una opción que dice includes files, yo importo ahí el archivo ini pero no lo toma, sí o si lo tengo que agregar de forma manual a esa ruta.

45
Yo quisiera una extensión para poder usar la luz flash de la cámara en Android. Que increíblemente hasta ahora nadie a creado una.