Noticias

¡Ayuda a la Comunidad GM, haz una donación!

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!.

Autor Tema: ID o objeto y with  (Leído 821 veces)

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

Desconectado Francos

en: Enero 26, 2018, 11:43:49 pm
Hola actualmente ando con este juego que me a dado guerra ya que nunca eh hecho unjuego con tanto objeto es decir
(Demaciado amplio el juego)

bueno e tenido unos errores o complicaciones 

- no logro conseguir usar

with de esta forma o existe otra

with lo uso para entrar de un objeto a otro pero cuando por ejemplo  de 3 objetos que tengo  boton ,gallina y huevo ejemplo
cuando boton collisona con la espada del jugador y este  quiero que gallina  cree un huevo

que seria asi

Objeto boton
en eventos tengo collision con espada
luego un code

with(Gallina)
{instance_create(huevo)}

 // Esto genera que todas las gallinas creen huevos , pero no la gallina que quiero, escomo si con esta funcion marcara como que todas las instancias llamadas gallina deben crear el huevo.

Alguien sabe como espesificarle a with el objeto que colliciona digamos son varios enemigos iguales y que el enemigo que esta collisonando es tal, intente con la id pero el enemigo que muere es el de la id especifica no el que collisiona jajaja

with(inst_aa48545s15) ejemplo

aca otro detalle con el que me salen fallas

with(Monedas)
{
if monedas>5
{monedas-=5}
with(Enemigo)
{instance_change(enemigosangre,1)}
}

aqui esta el detalle tambien el code de arriba  apesar de que espesifico las monedas  las monedas se combierten en enemigo sangre tambien y no se porque si ya espesifique que es el enemigo

no se si me espesifique   a que error me refiero con with gracias espero respuesta



 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado 3dgeminis

Respuesta #1 en: Enero 28, 2018, 04:26:38 am
Aqui esta el problema
with(Gallina)
{instance_create(huevo)}

pusiste el nombre del objeto asi que afectara a todas las intancias del mismo nombre.
Lo que tenes que hace es usar la palabra other en lugar del nombre.
with(other)
{instance_create(huevo)}

 
Los siguientes usuarios dieron las gracias a este tema: Yuzo, Francos


Desconectado Francos

Respuesta #2 en: Enero 31, 2018, 01:34:21 am
E intentado de esa forma pero por ejemplo cuando pongo esa funcion y abro otro with  dentro del with  ahora el que crea el huevo es el boton  por ejemplo

evento
collision espada
accion
with(boton)
{
carga+=2
with(other)
{instance_create(huevo)}
}
y si pongo asi pasa lo anterior mensionado todas las gallinas crean los huevos
evento
collision espada
accion
with(boton)
{
carga+=2
with(gallina)
{instance_create(huevo)}
}


 


Desconectado 3dgeminis

Respuesta #3 en: Enero 31, 2018, 08:03:37 am
Me perdi un poco con tanto with, en que objeto estan los codigos ?
Me parece que es en el objeto boton, pero si es asi no encuentro sentido en que hayas puesto with(boton)

 
Los siguientes usuarios dieron las gracias a este tema: Yuzo


Desconectado yokaiworld

Respuesta #4 en: Enero 31, 2018, 03:00:31 pm
el solo quiere diferenciar varios objetos que son el mismo, para saber como hacer que solo 1 haga cierta accion yo llevo preguntando lo mismo mucho tiempo en este foroy parece que nadie sabe como responder

 
Los siguientes usuarios dieron las gracias a este tema: Yuzo


Desconectado 3dgeminis

Respuesta #5 en: Enero 31, 2018, 03:31:29 pm
Para saber la id de la instancia hay varias funciones que devuelven la id como instance_position, instance_place, collision_rectangle.
Para lo que pregunto al principio ya tiene repuesta (with(other) {lo que quieras hacer}).
Si queres saber la id de todas las intancias del mismo objeto tendrias que guardar en una lista o array las id de las mismas.
Talves en Game Maker 2 sea diferente, no sabria decirlo ya que no lo uso
« última modificación: Enero 31, 2018, 03:34:12 pm por 3dgeminis »

 
Los siguientes usuarios dieron las gracias a este tema: Yuzo


Desconectado Francos

Respuesta #6 en: Enero 31, 2018, 08:15:22 pm
okupa: eso que me dices de la id solo lo e usado espesificandola en with es decir
with(ins_AL48AS45) {accion}

pero deja intento con un array o debolviendo la id haber si me queda  gracias okupa cualquier duda de lo mismo pregunto en este mismo post para no hacer spam..

 


Desconectado nonoroman

Respuesta #7 en: Febrero 01, 2018, 12:04:52 pm
Efectivamente, con esa funcion, lo que hace es que todos los objectos llamados gallinas, creen un huevo.

Para que cree un huevo solo una gallina en concreto, debes llamarla con su id, entonces especificas la gallina en concreto.

para eso, yo suelo utilizar una variable global en el create code, de cada gallina, por ejemplo, GALLINA_1 = id;

entonces, a la hora de hacer poner un huevo;

with(GALLINA_1)
{
       instance_create(......huevo)
}

No se si me explique bien, suerte!!!  ;)

Hola actualmente ando con este juego que me a dado guerra ya que nunca eh hecho unjuego con tanto objeto es decir
(Demaciado amplio el juego)

bueno e tenido unos errores o complicaciones 

- no logro conseguir usar

with de esta forma o existe otra

with lo uso para entrar de un objeto a otro pero cuando por ejemplo  de 3 objetos que tengo  boton ,gallina y huevo ejemplo
cuando boton collisona con la espada del jugador y este  quiero que gallina  cree un huevo

que seria asi

Objeto boton
en eventos tengo collision con espada
luego un code

with(Gallina)
{instance_create(huevo)}

 // Esto genera que todas las gallinas creen huevos , pero no la gallina que quiero, escomo si con esta funcion marcara como que todas las instancias llamadas gallina deben crear el huevo.

Alguien sabe como espesificarle a with el objeto que colliciona digamos son varios enemigos iguales y que el enemigo que esta collisonando es tal, intente con la id pero el enemigo que muere es el de la id especifica no el que collisiona jajaja

with(inst_aa48545s15) ejemplo

aca otro detalle con el que me salen fallas

with(Monedas)
{
if monedas>5
{monedas-=5}
with(Enemigo)
{instance_change(enemigosangre,1)}
}

aqui esta el detalle tambien el code de arriba  apesar de que espesifico las monedas  las monedas se combierten en enemigo sangre tambien y no se porque si ya espesifique que es el enemigo

no se si me espesifique   a que error me refiero con with gracias espero respuesta

PCNONOGames  www.pcnono.es
 
Los siguientes usuarios dieron las gracias a este tema: Yuzo


Desconectado yokaiworld

Respuesta #8 en: Febrero 01, 2018, 09:20:56 pm
si pero si tus objetos son creados por otro objeto como se puede acceder a creation code?

 
Los siguientes usuarios dieron las gracias a este tema: Yuzo


Desconectado nonoroman

Respuesta #9 en: Febrero 01, 2018, 11:14:11 pm
Si otro objecto, el que sea, crea las gallinas, para saber su id solo tiene declarar la variable global a la hora de crearla.

Asi;

Gallina_2 = instance_create (......)

si pero si tus objetos son creados por otro objeto como se puede acceder a creation code?

PCNONOGames  www.pcnono.es
 
Los siguientes usuarios dieron las gracias a este tema: Yuzo