Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

* Sponsor

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.


Mensajes - elviskelley

Páginas: 1 ... 17 18 19
271
Preguntas y respuestas / Re:Colisiones en un solo lado outside room
« en: Marzo 25, 2015, 10:39:35 pm »
En la linea de arriba colocas object solidos y cuando la bola tropiece con esos object en su event de collision colocas esto:  vspeed*=-1; //eso invierte el movimiento vertical.
para las anotaciones usas esto en la la bola.
if (x<0) then {obj_Jugador.puntos+=1; x=xstart; y=ystart;}

if (x>room_width) then {obj_Computer+=1; x=xstart; y=ystart;}

272
Preguntas y respuestas / Re:Barra de Salud (Avanzada)
« en: Marzo 25, 2015, 10:16:29 pm »
Me parece que el problema no es la barra de salud si no el sistema de ataques y def.
El código para una barra personalizada es este.
Código: [Seleccionar]
draw_healthbar(x,y,x2,y2,variable,c_blue,c_red,c_green,0,0,1)
para un sistema de ataques def y daño como los RPG se crean muchas variables, ejemplo.
//variables para el jugador.
global.exp=0; //esto sumara la experiencia obtenida durante el juego.
global.expmeta=10; //esto inicia una meta de experiencia para subir de nivel.
global.nivel=1; //nivel inicial del jugador.
global.def=1; //es la defensa inicial del jugador.
global.atk=2; //es el poder inicial de ataque del jugador.
global.energia=100; //barra de vida inicial del jugador.
global.maxenergia=100; //maximo de vida del jugador.

Nota: esas global var van en un object al inicio del juego.
ahora en el object del jugador.
event End step.
if (global.exp > global.expmeta) then
{
global.expmeta *= 1.4 ; //sube la meta a alcanzar para subir de nivel.
global.nivel +=1; //sube de nivel.
global.def = 1; //sube un punto de defensa
global.atk = 1; //sube un punto de ataque.
global.maxenergia *=1.2; //sube el maximo de energia que puede aguantar.
}
//esto es lo que sucedera al subir de nivel.


//para recuperar energia lentamente.
if (global.energia < global.maxenergia) then {global.energia +=0.1;}


Ahora en el event de collision o en la condicion de collision contra armas enemigas.
var r;
r=(other.atk - global.def);
//Al ataque recibido le resta su capacidad de defenderse.
if (r > 0) then
{
global.energia -=r;
}
//si el ataque supero su defensa entonces le resta el valor restante a su vitalidad.

Nota: es logico que cada enemigo le declaras las variable atk y le asignas un valor de ataque segun su fortaleza de ataque. Tambien declaras al enemigo la variables, vital y def. para su vitalidad y capacidad de defenza.
y la formula es casi la misma pero inversa para restar vida al enemigo segun tu fuerza de ataque.

273
Preguntas y respuestas / Re:Consulta sobre dialogos
« en: Marzo 25, 2015, 10:13:13 pm »
Yo uso una variable global. la cual llamo por lo general asi.
global.ingles =false; //siendo false se habla en español.

Ahora en el event draw de dode va el texto la comparo.
if global.ingles = true then
{
draw_text(x,y,"Hi hope")
}
else
{
draw_text(x,y,"hola tonto")
}

es algo muy sencillo de hacer como puedes ver.

274
Preguntas y respuestas / Re:Problemas con sprite_create_from_surface
« en: Marzo 23, 2015, 01:15:59 am »
sprite_create_from_surface
Crea un sprite copiando un área de una superficie.
Sintaxis:
sprite_create_from_surface (índice, x, y, w, h, removeback, smoot, xorig, yorig);

Argumento   Descripción
índice El índice de la superficie a crear a partir de.
x   La posición x copiar.
y      La posición y copiar.
w   La anchura de la zona que va a copiar (desde la posición x).
h   La altura de la zona que va a copiar (de la posición y).
removeback   Indica si va a hacer todos los píxeles con el color de fondo (píxel inferior izquierda) transparente.
smoot   Indica si desea suavizar los bordes.
xorig   Indica la posición x del origen en el sprite.
yorig   Indica la posición y del origen en el sprite.

Devoluciones: Bienes

Descripción
Con esta función se puede crear un sprite de una superficie previamente inicializado. El coordenadas X e Y que de entrada son en relación con la posición (0,0) de la superficie (la esquina superior izquierda) y no la ventana de juego, ni la vista si tiene uno activo. Los argumentos de anchura y altura se expresan en píxeles y definen la anchura y la altura de la parte de la superficie a utilizar. Ajuste del argumento "removeback" a verdad eliminará un color del sprite, marcando la parte inferior izquierda del pixel del sprite para el color de allí y luego usar eso como el color que desea eliminar. Si elige la opción "removeback", es posible que también desee Game Maker para suavizar los bordes de sprite estableciendo el argumento "suave" a verdad . Todo esto hace es crear un borde semi-transparente en los bordes de sprite después de que haya tenido su fondo eliminado. Por último, también puede especificar la x e y origen para el sprite. Este es el punto en el que el sprite se "fija" en la instancia que lo utiliza, y siempre se calcula como respecto a la esquina superior izquierda de 0,0 sub-imagen de un duende. Así, por ejemplo, un sprite que es de 32 x 32 píxeles con estos valores se ajustan a (16,16) tendrán su origen en el centro. Por defecto, todos los nuevos sprites tienen sus cuadros delimitadores calculan automáticamente (el Bbox exacto dependerá de la tamaño y transparencia del sprite), sin embargo puede que desee personalizar este, en cuyo caso también se debe utilizar la función sprite_collision_mask . NOTA: Cuando se crea un sprite en Game Maker con este método hay que acordarse de quitar de nuevo (con sprite_delete ) cuando ya no sean necesarios, de lo contrario existe el riesgo de una pérdida de memoria que se ralentizará y eventualmente bloquear el juego.

Ejemplo:
resaca var;
resaca = surface_create (32, 32);
surface_set_target (surf);
draw_clear_alpha (c_black, 0);
draw_sprite (spr_Body, 0, 0, 0);
draw_sprite (spr_Clothes, 0, 0, 0);
draw_sprite (spr_Hair, 0, 0, 0);
spr_custom = sprite_create_from_surface (surf, 0, 0, 32, 32, 1, 1, 16, 16);
surface_reset_target ();
surface_free (surf);
El código anterior crea una superficie y almacena sus índices en el "surf" local variable. A continuación, se dirige a esa superficie, lo borra y dibuja varios sprites en la parte superior de la otra. Finalmente se crea un nuevo objeto móvil a partir de la imagen compuesta dibujado en la superficie y su índice asigna a "spr_Custom" antes de liberar la memoria utilizada por la superficie.

275
Propuestas y soporte / Re:GIA-5 (Concurso)
« en: Marzo 23, 2015, 12:56:34 am »
Fue un error haber pedido, que dieran de baja mi cuenta. Solo que en ese justo momento no me encontraba emocionalmente en buenas condiciones. Recién pasaba por el divorcio y separación, y muchos problemas a raíz de ello.
 Había decidido organizar la competición, no solo para animar a la comunidadgm, también como una medida de escape, o de distracción, para desestresarme un poco de lo que me sucedía en el mundo real. El hecho de que fuera rechazada la propuesta me molesto bastante. Ya que en cierta forma sentí que cuando en forma alguna necesitaba de la comunidadgm, fui rechazado. Pero fue un error. No se debe mezclar la vida real, a lugares onlines donde compartes con personas ajenas a tu vida real.
 Me disculpo con todos, por no haber realizado el concurso así fuera de manera informar y por haber solicitado  mi baja de la comunidadgm.
 Como me escribió el amigo ferchan muchos dejan de entrar en la comunidadgm por algún tiempo, pero no piden se les banee. Quizás como dije tenia muchos problemas en mi vida real que afectaban muy fuerte.
 Mas tarde Hable con Fenris78 para ver si salvaba mi cuenta y me indico que no podía. Que me creara otra, con otro E-mail y los mismos datos. O bueno parecidos.
La cosa es que, acá estoy de nuevo y aun uso el Game Maker, aunque solo por el manual que estoy creando, uno muy amplio, y que espero terminar en los próximos meses.
 Entiendo también la labor que hacen los administradores, no es fácil, adoptar una responsabilidad sin fines de lucro. como lo es el mantener a la comunidadgm viva.
La cual espero siga online por muchos milenios mas.
 Como dije antes me disculpo por mi actitud, espero me comprendan.

Páginas: 1 ... 17 18 19