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

286
Preguntas y respuestas / Aumento de escala [Solucionado]
Septiembre 11, 2017, 03:09:42 AM
Pues voy pensando en poderes que cambien el juego, y ahora se me paso por la mente el hacer que un objeto aumente proporcionalmente su escala a un tamaño mayor.

Como ahora estoy asiendo experimentos con el "Arkanoid", sera la bola la que sea afectada, para ello tengo.

obj_Bola 16x16 centrada.

obj_Poder_Bola_Grande
///COLISION con el obj_Bola
//codigo//
effect_create_above (ef_firework,x,y,1,c_red);
audio_play_sound (snd_Bloque,50,false);
instance_destroy();

Lo que tengo en //código// seria lo que debo combinar, asumo que la función image_scale, tiene que estar ubicada en alguna parte, ya que es la encargada de ver los tamaños de los sprite, esto ayudaría a golpear mas objetivos, por el hecho de ser mas grande, ademas que permitiría al jugador atraparla mas fácilmente, las ventajas son muy favorables, por lo tanto mi pregunta se resumiría de la siguiente forma.

¿Como aumento el tamaño de mis bolas?
287
Preguntas y respuestas / Re:Regeneración general
Septiembre 10, 2017, 07:36:36 AM
Cita de: NiuWeb en Septiembre 10, 2017, 06:11:57 AM
Puedes usar alarmas, y simplemente comprobar que la vida sea menor a 18 antes de regenerarle.
[gml]
///Evento create
global.vidab = 18; //Esta es la vida original, no debe modificarse en juego.
global.vida  = global.vidab; //Esta es la vida que se modificará en el juego
regenerador  = 1;
alarm[0] = room_speed; //Activar una alarma para regenerar cada segundo.
[/gml]
[gml]
///Evento alarm 0
alarm[0] = room_speed;
if(global.vida <= (global.vidab - regenerador)) //Si tiene menos vida de la original (vida máxima)
{
    global.vida += regenerador;
}
[/gml]
Obviamente, si ya tienes utilizando la alarma 0, debes usar otra.
Agradecido  :).

Vaya tu código mas un pequeño orden que tuve que hacer, formo una buena regeneración por segundo, salio mas fácil de solucionar de lo que pensaba en un inicio.
288
Preguntas y respuestas / Regeneración general [SOLUCIONADO]
Septiembre 10, 2017, 06:01:37 AM
Pues en muchos juegos hay elementos de regeneración, tales como vida, energía, magia, munición etc.

Lo que busco en este caso seria regeneración de vida, y he pensado en establecer lo siguiente.

-Una condición de que la vida se recupere de forma continua, lo que significa que va sumando mientras pasa el tiempo.

-Un limite, pues en algún momento debe parar de generar vida (salud), ya que seria raro que la vida sea 100% y pase a valores superiores.

Mi jugador tendría una vida 18(100%) como máximo y un regenerador que lo recuperara 1 de vida cuando pasen 30 step
global. vida = 18;
regenerador = 1

En STEP estaría el regenerador, cuando este sea == 30 tendría que dar un global. vida += 1 y volver el regenerador a 0 para repetir el ciclo, pero claro el mayor problema estaría en como detengo el ciclo? en algún momento el jugador podría llegar a tener tanta vida que sea casi imposible de matar.

La verdad podría servir para la regeneración de muchos elementos que mencione con anterioridad, pero analizando 1 da pie a organizar y complementar con otros, lo mas parecido que tengo a esto es el objeto_Tiempo, por lo que creo que debe ser muy similar.
289
Cita de: cristopher2545 en Septiembre 10, 2017, 12:51:35 AM
losiento colega lo que sea que estes haciendo mal es por tu parte replique exactamente el mismo codigo que diste aqui y a mi me suma el tiempo pasando del limite tengo 130 de inicial y si toco mi punto me da mas tiempo y se acumula con

global.tiempo+=30

lo que sea que estés haciendo es por tu parte colega
Adivina compañero, tenia razón, o al menos suerte de novato, dije que los objetos creados por código no pueden tener aumento de tiempo, así que en vez de crearlo por código "draw_sprite", lo coloque como objeto en la habitación de la misma forma que mi juego "Red Heart", el resultado es



Es lo esperado, por lo que mi código nunca estuvo malo, solo no funcionaba bajo esas condiciones  :), igual gracias por la ayuda  ;D.
290
Va a ser redundante esto, pero ha visto esto?

Golpe normal: https://www.youtube.com/watch?v=U-7Jqy-mIfE
Cadena de golpes: https://www.youtube.com/watch?v=s3K-AY0zt-I

Al menos es lo máximo que puedo ayudar con lo que se  :-\.
291
Cita de: NiuWeb en Septiembre 09, 2017, 05:41:34 PM
La cosola de GM:S, donde se ve el registro de compilación; no en el juego.
He probado su codigo

///COLISION con bola
show_debug_message("Original: " + string(global.tiempo));
global.tiempo += 30;
show_debug_message("nuevo: " + string(global.tiempo));

effect_create_above (ef_firework,x,y,1,c_red);
audio_play_sound (snd_Relog,50,false);
instance_destroy();

y no registra nada en la consola ni en el juego, tengo sensación de que no esta en el evento correspondiente, creo que lo mejor seria que recapitulemos como si nada existiera aun.

Tenemos estos objetos involucrados para el tiempo, los cuales no tendrían códigos aun.

1.- obj_Tiempo_Juego : es el icono de arriba que alberga el tiempo marcha atrás en las letras rojas, parte superior de la pantalla.

2.-obj_Bola : es la bola que rompe todo lo que colisiona, todos los bloques y poderes tienen a un padre bloque que los hace destruirse al contacto con la bola.

3.-obj_Poder_Aumento_Tiempo: Suma X tiempo (30) a obj_Tiempo_Juego, cuando es destruido por obj_Bola.

En esto se resume lo que debo lograr, funciono en mi juego "Red Heart" como power up de forma eficiente, pero en este proyecto hay un problema, tal vez porque el obj_Tiempo_Juego es creado por código y no por ser instalado en la habitación.
292
Cita de: cristopher2545 en Septiembre 09, 2017, 09:41:20 PM
porque no mejor re haces todo el codigo?

Vale, recapitulemos como si nada existiera aun.

Tenemos estos objetos involucrados para el tiempo, los cuales no tendrían códigos aun.

1.- obj_Tiempo_Juego : es el icono de arriba que alberga el tiempo marcha atrás en las letras rojas, parte superior de la pantalla.

2.-obj_Bola : es la bola que rompe todo lo que colisiona, todos los bloques y poderes tienen a un padre bloque que los hace destruirse al contacto con la bola.

3.-obj_Poder_Aumento_Tiempo: Suma X tiempo (30) a obj_Tiempo_Juego, cuando es destruido por obj_Bola.

En esto se resume lo que debo lograr, funciono en mi juego "Red Heart" como power up de forma eficiente, pero en este proyecto hay un problema, tal vez porque el obj_Tiempo_Juego es creado por código y no por ser instalado en la habitación.
293
Cita de: FridaFlowers en Septiembre 09, 2017, 07:40:46 PM
bueno, lo que yo dije, traducido a codigo es hacer lo siguiente:

evento create:[gml]
contador_nivel = 0[/gml]

evento draw:[gml]
draw_sprite(sprite_conjunto_de_iconos, contador_nivel, 32, 32);
[/gml]

evento other/room end[gml]
contador_nivel= contador_nivel+ 1;
[/gml]


entonces asi no tendrias que colocar una sentecia if por cada subimagen, y te ahorras como dices, si el juego crece, de tener que agregar  o borrar lineas a cada rato.
-Ya veo el primero se encarga que comienzo en 0

-El draw de sus coordenadas

-y el other  EDN se encarga de que aumente 1 imagen cuando pase a la siguiente, viene bien por el hecho de que es lineal.

Tenemos un ganador  :), gracias ¿compañero...ra?  :-\
294
Cita de: cristopher2545 en Septiembre 09, 2017, 09:33:06 AM
Colega es lo que yo te dije que hicieras.... tu complicaste mucho esto lo siento estoy fuera suerte colega
Bien esta es la parte en la que se demuestra mi falta de atención al detalle, pero confundí tu código con uno de los que me mandaba "NiuWeb"  :-[

Pues si solo buscaba hacer algo como esto en vez de liarme con funciones mas elaboradas, creo que puedo dar esto por terminado, sabia que debía hacer un método intuitivo, pero no se me ocurrió este  :-[.
if room=room_Nivel1 {image_index=1}
if room=room_Nivel2 {image_index=2}
if room=room_Nivel3 {image_index=3}
295
Cita de: FridaFlowers en Septiembre 09, 2017, 09:18:36 AM
Coloca todos los iconos como subimagenes de un sprite.
Haz el objeto del icono persistente y usa una variable para ir aumentando de sub imagen cada que pase de cuarto le sumas 1.

Ya que por lo visto va en concordancia.
jejeje  XD, vale la verdad no estoy alegre  :(.

Ya tengo las sub-imagenes de 1.2.3........666 (tampoco es tanto) ordenadas, fue lo primero que pensé al momento de hacerlo, mi problema es que no creo bien el código que los llame cuando la habitación sea X, hacerlo es mas difícil que decirlo.
296
Cita de: cristopher2545 en Septiembre 09, 2017, 09:13:02 AM
mhhh comprendo
Este es el segundo post que habla sobre el mismo problema, pero con otro nombre, lo que podría considerarse spam si no fuera porque lleva como 2 a 3 días y tiene otro nombre, incluso hasta el temporizador como power up fallo en su funcionamiento y lo tache como "Sin solución"
297
Cita de: cristopher2545 en Septiembre 09, 2017, 08:33:56 AM
NIUWEB tiene razón colega no prestas atención al detalle yo te envié una respuesta y no prestaste atención tampoco lo que el quiso decir en su código es que pusiste un punto en ves de una coma por eso lo marco con un rectangulo
Me enviaba unos códigos que no correspondían a los que he estado mostrando, empezaron con los DS y los eventos CREATE y DRAW, leo el enlace y no me queda nada claro, por eso uso funciones con las que estoy familiarizado, porque al menos se lo que hacen sin meter tantos [{()}] entre palabras y números, me confunden aunque les ponga un comentario  :-\, hay muchas formas de hacer X acción, pero esa me perjudica al momento de programar.
///ROOM START
///Nombre nivel
if room=room_Nivel1 (draw_sprite(spr_Icono nivel,0,32,32));
if room=room_Nivel2 (draw_sprite(spr_Icono nivel,1,32,32));
if room=room_Nivel3 (draw_sprite(spr_Icono nivel,2,32,32));
298
Cita de: NiuWeb en Septiembre 09, 2017, 08:25:25 AM
Hasta aquí escribo, que ni te hayas tomado la molestia de pensar por qué la imagen que puse tiene un rectángulo rojo apuntando a algún signo por ahí hace ver que esto es una pérdida de tiempo, y si hubieras leído la documentación sabrías qué es el signo de interrogación.

Aunque coloque de forma correcta los valores lógicos, no evita que falle, las funciones de mapas no son optimas para este tipo de géneros (Arkanoid), gracias por la ayuda  :), pero volvimos a desviarnos del tema principal por segunda vez, este era el código y el evento, no se porque se complica tanto en usar CREATE y DRAW para algo tan común como crear un sprite en una habitación X.
///ROOM START
///Nombre nivel
if room=room_Nivel1 (draw_sprite(spr_Icono nivel,0,32,32));
if room=room_Nivel2 (draw_sprite(spr_Icono nivel,1,32,32));
if room=room_Nivel3 (draw_sprite(spr_Icono nivel,2,32,32));

299
Cita de: NiuWeb en Septiembre 09, 2017, 08:06:25 AM
¿pero qué se imprime en la consola?
Nada, es completamente in-funcional, es como si no existiera.
300
Cita de: NiuWeb en Septiembre 09, 2017, 07:14:36 AM

¿Así tienes tu código en el proyecto?

Los mapas son muy eficientes, mírale la lógica al código antes de decir que son malos.
obj_Jugador
///CREATE
iconos = ds_map_create();

iconos [? room_Nivel1] = 0;
iconos [? room_Nivel2] = 1;
iconos [? room_Nivel3] = 2;

///DRAW
draw_sprite(spr_Icono_Nivel, iconos[? room]. 32, 32);

el sprite se llama: spr_Icono_Nivel, y tiene todas las sub-imágenes.

Es un Arkanoid no un RPG, aquí no es optima esa función, ademas ley la lógica que tiene y me parece rebuscada, no le encuentro lo intuitivo, podría verlo mañana y ya no sabría lo que hacia, si la gente no lo esta usando en los ejemplos, vídeos y otros proyectos que he descargado, debe ser por lo innecesario y poca importancia que tiene, tampoco me queda claro esos signos de interrogación.