Tengo una duda y va mas con el tema de POO . En el caso de las variables de instancia, sé que pertenecen a un objeto. Y también entiendo ...

Pregunta de la clase:
Objetos persistentes
Francisco Contreras

Francisco Contreras

Pregunta
studenthace 3 años

Tengo una duda y va mas con el tema de POO

.

En el caso de las variables de instancia, sé que pertenecen a un objeto. Y también entiendo que puedes llamarla desde otra instancia a través de obj_player.state

.

Pero cómo sabemos en el caso de var bullet que puede ir con dir siendo bullet.dir

.

¿Cómo sabemos el scope y cuando son incompatibles? ¿Un bullet puede ir con hp, por ejemplo bullet.hp?

2 respuestas
para escribir tu comentario
    Francisco Contreras

    Francisco Contreras

    studenthace 3 años

    Hola y gracias por la raspuesta Jorge . Analizándolo un poco más tienes razón, en el caso de bullet.dir es totalmente factible ya que en la línea anterior a la variable local var dir se le asigna la instancia/objeto de obj_enemy_bullet

    var bullet = instance_create_layer(x,y,"Instances",obj_enemy_bullet); ///notar el último argumento de la línea anterior bullet.dir = point_direction(x+lengthdir_x(5,dir_x),y,obj_player.x,obj_player.y);

    Ya con esto, puedes acceder al scope local del objeto bullet

    Jorge García

    Jorge García

    teacherhace 3 años

    Hola Francisco.

    La única manera de saber si alguna variable existe dentro de otra variable local (como en tu ejemplo var bullet), es:

    1. Sabiendo exactamente a donde está apuntando la variable y sabiendo que es un objeto.
    2. Comprobando que exista una variable con ese nombre en ese objeto mediante: variable_instance_exists(https://manual-es.yoyogames.com/#t=GameMaker_Language%2FGML_Reference%2FVariable_Functions%2Fvariable_instance_exists.htm)

    Es importante siempre tener la noción del scope en el que te encuentras.

    Saludos y mucho éxito.

Curso de Game Maker Studio 2: Interacción y Ataque de los Personajes

Curso de Game Maker Studio 2: Interacción y Ataque de los Personajes

Programa personajes en Game Maker Studio 2, creando interacciones y ataques. Controla enemigos, mide distancias y añade proyectiles para mejorar el juego. Aplica persistencia y prepara para porting a otras plataformas.

Curso de Game Maker Studio 2: Interacción y Ataque de los Personajes
Curso de Game Maker Studio 2: Interacción y Ataque de los Personajes

Curso de Game Maker Studio 2: Interacción y Ataque de los Personajes

Programa personajes en Game Maker Studio 2, creando interacciones y ataques. Controla enemigos, mide distancias y añade proyectiles para mejorar el juego. Aplica persistencia y prepara para porting a otras plataformas.