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
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)}
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)}
}
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)
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
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
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..
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!!! ;)
Cita de: 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
si pero si tus objetos son creados por otro objeto como se puede acceder a creation code?
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 (......)
Cita de: yokaiworld 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?