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

1
Preguntas y respuestas / Re:nesecito ayuda con codigos
Diciembre 04, 2020, 11:35:45 PM
Cita de: MantoxC en Diciembre 04, 2020, 04:15:05 AM
:GMS:
disculpen pero nesecito ayuda con un problema que tengo y es que nesecito un manual en español para estudiar mas de gml que solo se lo mas basico y perdon por la molestia si me pueden pasar un link seria de agradeserce

Buenas  8) hace tiempo hice la misma pregunta que tu, necesitaba el manual de game maker studio 1 en español pero sabia que solo estaba en ingles y usar el traductor es demasiado molesto, aparte de que necesitas internet para eso y en mi caso, es muy limitado por donde vivo asi que pregunte aqui si tenian el manual de Game Maker Studio 2 en español (ya que para esta version si hay un manual oficial en español) y me pasaron un Post anterior al mio donde preguntaban lo mismo, aca te dejo el enlace de ese posrt donde encontraras los enlaces para descargarlo.

por cierto no se que version de Game Maker usas pero al menos para el Studio y Studio 2 no hay tanta diferencia en funciones, no se que tantos cambios hayan para ti...

https://www.comunidadgm.org/general/game-maker-tools/msg138626/#msg138626
2
Getnoff Muchas gracias  ;D tu código funciono a la perfección, me doy cuenta de que en todas las preguntas que he hecho siempre llegas para salvar el día  XD mil gracias.

T789 Muchas gracias a ti también  8)
3
Ese ultimo código me pone todos los bloques juntos en la posición X y Y prácticamente en 0
4
T789 muchas gracias por tu ayuda, ahora se ve un poco mejor pero sigue habiendo un bloque que aparece detras de otro, son 10 bloques los que deben aparecer al azar o los que sea que escriba en la variable i, tu codigo entiendo mas o menos de que va pero quiza sea que en algun momento solo hace aparecer 9 bloques
5
Hola, necesito ayuda con una problema que tengo... estoy haciendo un juego de romper bloques, el tipico brickbreacker y para no estar haciendo que despues de romper el ultimo bloque el jugador pasara a otra room y tener que hacer muchos niveles y demas, preferi optar por la opcion mas comoda que conozco que es hacer que despues de que el ultimo bloque sea destruido, se creen bloques al azar por la room y estos se ajusten a las casillas(cuadriculas) una vez que aparezcan, de esta manera se estarian creando bloques siempre que se rompa el ultimo, utilize este código:

[gml]
if(!instance_exists(obj_bloque))
{
i = 10
repeat(i)
   {
    var posx = random_range(32,416)
    var posy = random_range(32,160)
    instance_create(posx,posy,obj_bloque)
        with (obj_bloque)
        {
            if !place_snapped(32, 8)
            {
                move_snap(32, 8);
            }
        }
   }
}
[/gml]

Tengo algunas preguntas sobre el mismo tema si es que me lo permiten pero la primera pregunta es la mas importante y es el motivo por el que vengo a pedirles ayuda:

1.- ¿Como hago para que aparezcan los bloques sin estar uno encima de otro? pasa que a veces los bloques se crean en las mismas casillas y esto hace que cuando se rompa un bloque pareciera que justo aparece otro en la misma posición y eso se ve algo feo

2.-¿se puede hacer una especie de figura prefabricada para hacerlas aparecer? osea una forma con los cuadritos para que cuando se rompa el ultimo aparezca una de las tantas figuras ya hechas al azar, digamos que haces 20 figuras pues aparecera una de esas tantas al azar

3.- dejare una imagen para que me expliquen como solucionar el ultimo problema, tengo una mini IA(no se si llamarle inteligencia artificial) el caso es que hice que al iniciar el juego si la pelota choque con el jugador (unicamente si choca) se activara el point_direction hacia la direccion del bloque, el problema con esto es que la pelota persigue por orden en que se crearon los bloques y si el bloque 1 esta por encima del bloque 2 se nota como la pelota se dirige al bloque 1, quiero que persiga al bloque mas cercana en la posicion Y de esta manera no se vera tan raro

===

como dije antes, mas me importa que me ayuden con la primera pregunta ya que es el tema principal, de todas maneras si responden las demas preguntas se los agradecería mucho, no creo que hacer varias preguntas del mismo tema incumpla las reglas pero si llega a ser el caso modifico y elimino la 2 y 3

6
getnoff y 3dgeminis Gracias a ustedes ya conseguí exactamente el movimiento que buscaba  :)
7
Hola, buenas  :)

tratare de ser lo mas corto posible con mi explicación pero suelo escribir mucho... tengo un problema con el cambio de sprites de mi personaje.

Les dejare un Gif del resultado final que quiero conseguir, es de un juego que se llama Dead Maze, recomendado.

apenas ando comenzando con el movimiento del personaje pero me estanque con el cambio de sprites con este codigo:

[gml]
if(keyboard_check(ord("D")))
{
    x += 5
    sprite_index = spr_c_der
    image_speed = 0.5
}
else
{
    sprite_index = spr_der
}
[/gml]

todo funciona bien, pero únicamente para cuando el personaje se mueve hacia la derecha, cambia bien su sprite al de caminar y luego al soltar la tecla D cambia su sprite al sprite parado viendo a la derecha... el problema viene cuando pongo lo mismo pero para la izquierda:

[gml]
if(keyboard_check(ord("D")))
{
    x += 5
    sprite_index = spr_c_der
    image_speed = 0.5
}
else
{
    sprite_index = spr_der
}

if(keyboard_check(ord("A")))
{
    x -= 5
    sprite_index = spr_c_iz
    image_speed = 0.5
}
else
{
    sprite_index = spr_iz
}
[/gml]

como el else del primer if ya dice que si no estoy apretando la tecla D cambiara el sprite al de spr_der (el de mirar a la derecha) entonces tiene conflictos para el segundo else porque pone una condición parecida pero mirando a la izquierda, esto hace que aunque yo apreté la tecla D al no estarse presionando la tecla A el sprite sea el de mirar a la izquierda y lo mismo para cuando apretó la tecla D... se cual es el problema pero no le consigo solución.

¿me ayudan a solucionar esto?  también se que luego tendré el mismo problema para cuando vaya a mover el personaje para las direcciones diagonales ya que quiero que se mantenga el sprite de correr ya sea izquierda o derecha asi como en el Gif.

no pido que me arreglen todo el código(tampoco es que sea mucho ya que esta super básico), si solamente me dicen de que forma debo pensar para solucionarlo es mejor para mi ya que asi busco la manera de aplicar eso a código.

====

por cierto conseguí un tema donde hablan de algo muy parecido pero no es exactamente mi problema, espero no infligir ninguna regla.

pregunta extra ¿que tan feo se ve que alguien use el drag and drop y a la vez código? es que hay cosas que no se bien como aplicar en código y utilizo eso.

Muchas gracias por tomarte el tiempo de leer mi testamento  8)
8
Cita de: Asterth en Julio 25, 2020, 07:47:06 PM
Buenos tardes compañeros ;D
¿Hay forma de saber si una variable deja de sumarse?

Ejemplo: "Space += 1"

Cuando detengo que la variable se vaya sumando no sé como hacer para que el juego lo identifique.

Espero poder ayudar con mi poco conocimiento, disculpa si no entendí bien la pregunta, pero haré una pregunta que a la vez es como respuesta... si por ejemplo tienes una variable que se llama "contador" que la inicias en 0, lo que tratas de hacer es que al presionar una tecla el valor de contador vaya sumando de uno en uno, pero tu problema es que no sabes de que manera saber cuantos números ha aumentado la variable? si este es el problema yo lo resolvería de dos maneras para saber si realmente esta sumando o no..

1.- con el código: show_debug_message(string);

con esto muestra por consola información como la que necesitas, mostraria el valor de la variable "contador" cada vez que sume 1...

2.- dibujando en la misma pantalla del juego con: draw_text(x, y, string);

de esta manera dibujaría el valor de la variable "contador" y de esta manera sabría si realmente esta sumando o no
9
Cita de: elmmeronw en Julio 25, 2020, 03:43:40 AM
Hola espero que la información que te proporciones sea de utilidad
primero te dejare en lista de orden del conocimiento teórico...

Esto para aprender a programar

1.-Tipo de datos (Char, String, Booleano ,Integer, Float, Double)(no muy difícil de entender)(Teorico)
2.-Operadores aritmético aritméticos (esto es fácil las sumas, restas, multiplicación, división de toda la vida)(Teorico y Practico)
3.-Expresiones condicionales (casi siempre sera resuelto con un verdadero o un falso)(practico)
4.-Operador lógicos (esto de ayudara a que las cosas que programes tenga sentido y va en conjunto con las expresiones condicionales)(Practico)
5.-Array, arreglos, Ventores(reciente mente en mi canal subi algo sobre esto XD alto spam)(Practico)
6.-Bucle de programación (For, Repeat,  While)(Practico)
7.-Métodos (complicadito un poco)
-------------a partir de este punto es mucho mas avanzado----------y en adelante ya creo que no es muy necesario continuar ya que tiene el conocimiento base para gamemaker
8.-Herencia, Padre, Hijos, Poliformismo (esto ya es mucho )
9.-Programacion con thread(hilos de programacion)
10.- buffering

Ahora para aprender a usar gamemaker
1.- Inicializar variables (casi siempre se inicializar en la parte del evento create)
2.-Diferencia en variables locales y globales (facil de entender)
3.-Como funciona Un Step (es cuanta vece se ejecuta el código del juego en un segundo)
4.-Como funciona El evento Draw (igual que este pero este esta orientado a dibujar cosas)
5.-Que es un FPS vs Step (dependiendo de la velocidad del juego, es de cuanta vece se ejecutara un step a relevancia de 1 FPS)

y listo ya con eso tiene los necesario pero aun te digo que no podrás dejar de abandonar un tutorial de como hacer algo o para que funciona x e y función y para que son utiles...
debes estar al tanto de la documetacion de de YoYo Games si tiene dudas de alguna duda de la funciones de que es lo que hacen
Debes que tomar en cuenta que aun habran preguntas por fallos y errores que por humano pasamos y la compu ejecuta por que es lo que le indicaste pero en tu cabeza no se veía igual tendrás que tener en cuenta como código en conflictos y el orde a seguir del código

En cuanto al tiempo no podría darte una estimación ya que eso radica en el deseo de aprender de cada persona

AL ADIM PIDO QUE REUBIQUE EL POST DONDE SEA CONVENIENTE YA QUE DESEO QUE SI ENTE LA COMUNIDAD PODAMOS EXPLICAR CADA  UNO DE LOS PUNTO QUE ES PUESTO YA QUE ES ALGO DIFERENTE EL APRENDER TODO DE UN LENGUAJE DIFERENTE AL GAMEMAKER

vamos amigo participen y ayuden a programar a un compañero mas de la comunidad Saludos

Muchas gracias por la información, comenzare a estudiar los puntos que me estas dando y también me pasare por tu canal así tengo alguien mas para aprender, muchas gracias  :)
10
Hola, deje de usar Game Maker un tiempo porque suelo tratar de programar un juego así sea simple y cuando me doy cuenta de que eso que creía simple realmente es complicado, suelo desanimarme porque me siento incapaz de poder conseguir todo lo demás sabiendo que las cosas que se supone que venían después de lo "simple" serian mas complicadas... no estudie ingeniería en sistemas, computación o algo relacionado con la programación en la universidad por lo que todo lo que se de programación es gracias a Internet, y lamentablemente para algunas personas como yo, porque supongo que no soy el único, me cuesta ser constante con las cosas a diferencia de una universidad donde tienes un horario y debes tomarte el tiempo necesario aunque realmente no es tan así pero tienes cierto tiempo para estudiar en especifico un tema, debes entregar trabajos, exámenes, es decir que tienes un plan de estudio bien especifico para que al salir de la universidad ya sepas bien todo lo básico,medio y intermedio sobre la programación y mas temas relacionados, y supongo que también cosas avanzadas...estudiando por Internet se me hace algo complicado tomarme el tiempo necesario para estudiar en especifico un tema hasta el cansancio para así no olvidarlo...

lo que vengo a pedirles no es alguna duda sobre algo que este desarrollando como un juego o algo así... mas bien es mas importante para mi que eso ya que si todo sale como lo estoy planeando, con lo que les pediré cuando vuelva a tocar Game Maker debería tener mas capacidad para programar de una manera mas fluida sin necesidad de volver a hacer alguna pregunta por acá, tal vez si deba volver pero no tendré que hacer preguntas de cosas simples si no tal vez cosas ya intermedias o avanzadas...

La pregunta es la siguiente: Si fueras un profesor que debe enseñar programación a un alumno ¿Que pasos a seguir y que tiempo de estudio le darías a esa persona para que aprenda? da igual si el plan de estudio es de 5 meses o 2 años, la idea es que tomando el tiempo necesario esta persona pueda aprender por su cuenta lo necesario para cuando toque el código no tenga que buscar por Internet ""como hacer que un objeto flote  en game maker""...

para darles un ejemplo de lo que pido, si nos tocara enseñarle a caminar a una persona (suponiendo que no sepa)... tal vez lo primero seria enseñarle a gatear, luego a caminar sobre un carrito de esos para bebe, ya luego de ahí pasaría a caminar y tal vez mas adelante cosas avanzadas como correr o saltar, pero para que el pase de una etapa a otra se necesita cierto tiempo y es lo que mas necesito, un tiempo aproximado de estudio de temas en específicos y obviamente esos temas para cuando intente algún codigo no andar perdido... tal vez pido mucho pero lo mas importante seria desarrollar lo mas posible esto que llaman ""lógica de la programación"" según lo que he leído y escuchado de otras personas, esto es lo mas dificil de desarrollar, pero siento que si consigo esto ya lo demás no sera tan complicado

diría mas detalles pero creo que esto ya quedo lo suficientemente largo para aburrir a mas de uno que entre a mi Post

por cierto se que esta pregunta no parece tener que ver nada con game maker pero la verdad es que si, porque mi plan es que luego de estudiar todo lo necesario que ustedes me recomienden, volver a game maker mas preparado para poder desarrollar un videojuego que valga la pena y no experimentos al azar solo para probar códigos... si esto va contra las reglas desde ahora pido disculpas... muchas gracias por tomarse el tiempo de leer  :) espero que si alguien anda igual que yo, esto le sirva y las respuestas de la comunidad también les ayude  :)
11
Cita de: T789 en Junio 05, 2020, 10:26:46 PM
Cual es la manera mas rapida de gestionar los modos de un Enemigo o Boss

Me explico, cada vez que hacia un Boss, gestionaba sus ataques de manera simple usando alarmas y creando objetos pero ya le encontre el defecto de tener que crear un obj_boss_normal, obj_boss_furious, obj_boss_final, obj_boss_death y etc

Ya me canse de programar distintos Jefes en ese orden, conocen una manera de gestionar tantos modos de un Jefe u Enemigo de manera optima, pues desearia poder implementar mas modos equilibradamente  ???

entonces ¿estas creando un objeto para casa fase del enemigo?... quiere decir que si el enemigo tiene 100 puntos de vida, al llegar a 80 pasa de modo normal a modo furioso etc? ... yo creo que esto lo podrías hacer mas fácil con una maquina de estados para así evitarte el crear tantos objetos y en cada fase solo debes aumentarle el daño, velocidad de movimiento y los distintos ataques... pero supongo que otra persona que te haya entendido mejor te dará una mejor respuesta  :-[ buena suerte  :)
12
Cita de: Alejandro256 en Junio 04, 2020, 07:50:06 PM
A mi me gustaria crear un enemigo con campo de vision, y cuando detecta al jugador empiece a disparar hacia al jugador.
Porfa ayuda!
Deberia usar un objeto con un sprite invisible para que lo detecte o alguna funcion

hay un youtuber que tiene un tutorial muy bueno sobre el tema, pero a mi parecer es un tutorial incompleto con el tema de la vision limitada, pero al fin y al cabo solo es un tutorial y no te hara un juego super complicado, en el sentido de hacerlo muy complejo... pero para lo que preguntas supongo que es mas que suficiente... busca en youtube "hektor profe" en su lista de reproduccion busca sus tutoriales del videojuego "top down shooter" y en especifico comienza a mirar desde este video ""Juego de Disparos en Game Maker #6 - Estado de movimiento"" aunque si pones en el buscador de youtube ese nombre deberia salirte mas rapido... no te ayudo con codigo "propio" porque al final la forma en que yo aprendi a programar eso fue gracias a el...aunque como dije mas arriba es un tutorial incompleto a mi parecer porque si lo que buscas es que tenga una vision limitada en cuanto a ver unicamente en forma de triangulo, entonces ese vídeo no te ayudara tanto... de hecho yo tambien tengo esa misma duda y tenia pensado hacer un post... el youtuber que se llama "Adderly Cespedes" hizo un video sobre el tema y va mas hacia la vision limitada, el video se llama: "Ataque según distancia y rango visible - Tutorial GameMaker"

si lo que tratas de buscar es esto(dejo imagen al final), el segundo video te sirve mas pero aun asi el primero puede serte util  ;D



13
no se como cambiar los Sprites o Angulo de una instancia mientras esta en un Path, si la instancia se mueve hacia la derecha quiero que cambie la animación(Sprites) viendo a la derecha y así hacia todas las direcciones, o que cambie su Angulo a 0,90,180 o 270...

es fácil cuando es un personaje que controlas con el teclado porque es fácil decirle:

[gml]

if keyboard_check(ord("D")) {
    hspeed = 5
    }
    else if keyboard_check(ord("A")) {
        hspeed = -5
    }
    else if keyboard_check(ord("W")) {
        vspeed = -5
    }
    else if keyboard_check(ord("S")) {
        vspeed = 5
    } else {
        hspeed = 0
        vspeed = 0
    }

if hspeed >= 1 {
    image_angle = 0
}
if hspeed <= -1 {
    image_angle = 180
}
if vspeed >= 1{
    image_angle = 270
}
if vspeed <= -1 {
    image_angle = 90
}

[/gml]

se que en el código anterior no hay necesidad de poner el image_angle después con mas IF pero lo hice así para experimentar si con la velocidad este cambia de angulo... aplique este código en el objeto que tiene el path y no funciona ya que los paths usan solo "speed" así que no se bien como hacer que un Path cambie sus sprites o angulo dependiendo de la direccion a la que se mueva.
14
BssString no sabia que era un bug de GM, como este no utiliza los puntos y comas, no me imagine que seria por eso, supongo que sera lo único que usa ; ... ""y ahora eso me confundió porque no se exactamente que quisiste colocar ahí."" esto lo había dicho porque como en:[gml]inst.enemigo = enemigo [/gml]  el punto que me daba error, creí que debía ir otra cosa, osea algo así como un _ para una variable, por eso no sabia si querías colocar algo que no fuera el punto pero ya con lo del bug quedo aclarado  :) ... ya el código no da ningún error y funciona perfecto, muchas gracias por tu ayuda, aunque de hecho debería agradecerte por todo el código  :( ya que lo corregiste completo y yo prácticamente no hice nada, creí que iba por buen camino y solo me iban a corregir algunas cosas x.x pero fue todo... aun me falta mucho por delante, creí  que hacer esto no seria tan difícil pero se me complico mas de lo que pensaba.

también gracias a correojon porque ambos códigos eran parecidos y iban por una misma idea.

Muchas gracias.

por cierto así quedo el "juego" con el código de BssString y se nota demasiado la diferencia con el primer Gif que pase:

15
Cita de: BssString en Marzo 22, 2020, 04:36:38 AM

[gml]if instance_exists(enemigo) { //Primero revisa que el enemigo no haya muerto durante estos 2 Steps de Cooldown. Si el enemigo murió, entonces no dispara nada.
var inst = instance_create(x,y,obj_bala) //Después de los 2 Steps, crea la bala y guarda el ID de la nueva bala creada en la variable "inst".
inst.enemigo = enemigo //Le dice a la bala a qué enemigo debo perseguir. La variable "enemigo" del objeto "inst" (o sea la bala), toma ahora el valor de la variable "enemigo" de la torre.
inst.enemigo_x = enemigo.x //Le dice a la bala a qué coordenada debe ir
inst.enemigo_y = enemigo.y //Le dice a la bala a qué coordenada debe ir
}[/gml]


Hola BssString muchas gracias por tomarte tu tiempo en tratar de ayudarme con tu conocimiento  :D ... entiendo lo de la alarma gracias a tu explicación, yo lo solucione pero sin usar las alarmas con este código:

evento create de la torre:
contador = 0

evento step de la  :

if instance_exists(obj_enemigo)and distance_to_object(obj_enemigo) <= rango_vision {
    contador += 1
    if contador == 20 {
        instance_create(x,y,obj_bala)
        contador = 0
}

pero aun así con tu código esta mucho mejor... la verdad tenia muchas ganas de probarlo pero hay un error en la alarma de la torre:

inst.enemigo = enemigo

por el punto me dice: Unexpected symbol in expression.

y ahora eso me confundió porque no se exactamente que quisiste colocar ahí.