Crear múltiples objetos con diferente ID

Publicado por LuciaHedgehog, Septiembre 11, 2022, 09:23:21 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

LuciaHedgehog

Hola muy buenas a todos  :)  les quiero preguntar acerca de como puedo crear varios objetos repetidos y que cada uno de ellos siga a un objeto madre en diferentes ubicaciones que se le indique, que por ejemplo tengo un Boss y tiene muchos cañones, supongamos que un cañon está a 20 px del objeto y otro está a 50 px, etc, lo que no sé si se tenga que cambiar el ID o solo usar variables locales. Como el jefe no se queda quieto y este se mueve, los cañones se tienen que mover también a su misma dirección.

Si me pueden enseñar el proceso de como hacer todo eso porfas  :'( .

Ciego

Hola! En Game Maker 2 tienes que utilizar estructuras al momento de crear el objeto, es simple de utilizar, solo tienes que llenar un campo más después de de el objeto con los valores que quieres que lleve al momento de crear la instancia, si haz utilizado clases o inicializado un objeto en otro lenguaje te resulte familiar

https://manual.yoyogames.com/GameMaker_Language/GML_Reference/Asset_Management/Instances/instance_create_layer.htm

Jeffrey Faper

bueno el id de las torretas no se puede cambiar ya que ese lo asigna Game Maker cuando crea una instancia en lugar de guardar el id de las torretas mejor guarde el id de su objeto boss en una variable mas las posiciones x/y deseadas de sus torretas no se si funcione en game maker 2 pero asi es como creo ese tipo de jefes en GM1
//Evento create objBoss
var xArray,yArray;
xArray[90,50,80,129,399,45];//posiciones x de torretas
yArray[90,50,80,129,399,45];//posiciones y de torretas

for(var i=0; i<5; i++){
    var getX=xArray[i];
    var getX=yArray[i];
    var torreta=instance_create(x,y,"instance_layer",objBoss);
    torreta.owner=id; 
    torreta.desired_x=getX;
    torreta.desired_y=getY;
}

//evento end step objTorreta
if(owner!=noone){
    x=owner.x+desired_x;
    y=owner.y+desired_y;
}



LuciaHedgehog

Gracias por responder, ya voy entendiendo un poco, y si probé el código pero me da error porque no lee el if del end step del obj_torreta, le adjunto una imagen del error. Hasta le puse parent con el objeto madre y ni aun así f  :'( igual intentaré cambiarle cosas a ver si ya lo lee.

Cita de: Jeffrey Faper en Septiembre 12, 2022, 01:59:23 AM
//evento end step objTorreta
if(owner!=noone){
    x=owner.x+desired_x;
    y=owner.y+desired_y;
}




Jeffrey Faper

#4
Cita de: LuciaHedgehog en Septiembre 12, 2022, 01:53:33 PMprobé el código pero me da error porque no lee el if del end step del obj_torreta
las variables owner, desired_x, desired_y pertenecen al objeto torreta/cañon, este error pasa que no existen dichas variables declarelas en su objeto torreta u en su objeto padre si esta usando uno
//evento create obj_cannon_boss_0
owner=noone;
desired_x=0;
desired_y=0;

231 Visitantes, 0 Usuarios