Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: LuisGM en Julio 20, 2010, 08:30:42 PM

Título: View que siga a un objeto entre varios iguales...
Publicado por: LuisGM en Julio 20, 2010, 08:30:42 PM
Hola! me tope con un problema que no se hasta que pundo es complicado  ???
como dice el Asunto necesito que la view de mi juego siga a un objeto...
yo estoy usando para esto el scrip view_object[0] = objeto1
pero poseo varios objeto1 en un mismo room y necesito que la view siga a uno en especifico...
?como solucionar esto?
Saludos y gracias de antemano.
Título: Re: View que siga a un objeto entre varios iguales...
Publicado por: Hackware en Julio 20, 2010, 09:34:58 PM
Usa la id de la instancia object1 que deseas que sea seguida por la view[0], debe quedar as?.

view_object[0]=(100010);

100010 es un valor de ejemplo, debes reemplazarlo por el valor de la id de la instancia que deseas usar.

Para checar la id se pueden usar dos m?todos:


global.objvista=instance_create(...);

objvista es un ejemplo, puedes cambiarlo seg?n tus necesidades. Agregar el global. es necesario para evitar que el valor se pierda por accidente (o bien puedes usar el m?todo del globalvar).

?Saludos y espero haberte ayudado! :D
Título: Re: View que siga a un objeto entre varios iguales...
Publicado por: Wadk en Julio 20, 2010, 10:28:10 PM
S?lo una peque?a nota...
Cita de: Hackware en Julio 20, 2010, 09:34:58 PMview_object[0]=(100010);
Los par?ntesis no son necesarios ah?.
Título: Re: View que siga a un objeto entre varios iguales...
Publicado por: LuisGM en Julio 20, 2010, 10:44:03 PM
Hola Hackware! gracias por contestar... el objeto si es creado por medio de instance_create() y esta funcion crea un object1 cada vez constantemente. De hecho, necesito que la view[0] siga al object1 que colisione con mi personaje.
Supongo que necesito el segundo metodo que escribiste... pero realmente no lo comprendi bien (disculpa mi lentitud al comprender  :-[)
No se si podria ayudarme el hecho de que el object1 cambia de sprite al momento de colisionar con mi personaje.
Saludos y gracias!
Título: Re: View que siga a un objeto entre varios iguales...
Publicado por: Wadk en Julio 21, 2010, 12:25:02 AM
Cada objeto en el room tiene una ID ?nica asignada (aunque sean dos objetos iguales, tendr?n una ID distinta). Cuando cre?s un objeto con instance_create, la funci?n devuelve la ID del objeto creado. Esta ID se puede usar para referirse a ese objeto espec?fico.
As? haciendo esto:
objeto=instance_create(object1,0,0);
Vas a quedar con una variable llamada "objeto" que vas a poder usar para referirte a la instancia de object1 que acab?s de crear.
En realidad, si s?lo quer?s referirte al objeto en espec?fico para que la view lo siga, no ten?s que guardar el ID del objeto en una variable, esto bastar?a:
view_object[0]=instance_create(object1,0,0);

Espero que hayas entendido y que te sirva. Si no entendiste pregunt?.
Título: Re: View que siga a un objeto entre varios iguales...
Publicado por: Hackware en Julio 21, 2010, 01:31:59 AM
Cita de: Wadk en Julio 20, 2010, 10:28:10 PM
S?lo una peque?a nota...
Cita de: Hackware en Julio 20, 2010, 09:34:58 PMview_object[0]=(100010);
Los par?ntesis no son necesarios ah?.

As? aprend? yo. XD

Y s?, las obervaciones de Wadk me dejan en rid?culo :p son muy acertadas, pero para tu caso en espec?fico lo que necesitas es definir la siguiente funci?n en el evento de colisi?n con los object1 de tu personaje:

view_object[0]=other;

other representa la id del objeto que entr? en colisi?n con tu personaje, as? que no necesitas guardarla a menos que desees usarla fuera del script.
Título: Re: View que siga a un objeto entre varios iguales...
Publicado por: Wadk en Julio 21, 2010, 04:37:11 AM
Los parentesis se usan si quer?s hacer algo como esto:
(100010).speed=10;
En ese caso si no los pon?s da error porque el GM confunde el punto con un punto decimal :P

Creo que no vi que LuisGM escribi? "necesito que la view[0] siga al object1 que colisione con mi personaje." XD. As? que ten?s raz?n Hackware.
Título: Re: View que siga a un objeto entre varios iguales...
Publicado por: LuisGM en Julio 21, 2010, 07:39:11 PM
Hola, gracias a ambos por su ayuda... probe lo de "view_object[0]=other;" en el evento colision pero no ocurre nada, es decir la view no sigue a nadie  :-\.
Título: Re: View que siga a un objeto entre varios iguales...
Publicado por: Herni en Julio 21, 2010, 09:06:51 PM
Cita de: LuisGM en Julio 21, 2010, 07:39:11 PM
Hola, gracias a ambos por su ayuda... probe lo de "view_object[0]=other;" en el evento colision pero no ocurre nada, es decir la view no sigue a nadie  :-\.

No me hagas mucho caso, porque con las views soy un negado, pero no hay que activar la view antes o algo parecido?

Quiz?s est?s asignando bien la view, pero si no est? activada, pues eso, que no sigue a nadie.


Un saludo,
- Herni
Título: Re: View que siga a un objeto entre varios iguales...
Publicado por: LuisGM en Julio 21, 2010, 10:11:55 PM
Hola Herni, no, ese no es mi caso... la view funciona bien antes de la colision... es decir, si esta activada.  :D
Saludos y gracias por contestar.
Título: Re: View que siga a un objeto entre varios iguales...
Publicado por: Wadk en Julio 21, 2010, 11:50:08 PM
A ver, prob? con view_object[0]=other.id;
Título: Re: View que siga a un objeto entre varios iguales...
Publicado por: LuisGM en Julio 22, 2010, 01:53:45 AM
Hola Wadk! ahora si funciona...   :D
Gracias por la ayuda Wadk, Hackware y Herni.
Título: Re: View que siga a un objeto entre varios iguales...
Publicado por: Herni en Julio 22, 2010, 03:26:48 AM
Cita de: Wadk en Julio 21, 2010, 11:50:08 PM
A ver, prob? con view_object[0]=other.id;

Joder, qu? bueno eres Wadk, es que se me hab?a medio-pasado por la cabeza, pero me fui a la wiki del GML que me echaba atr?s esa posibilidad.

Cito textualmente:
CitarCuando se ejecuta un evento de colisi?n, Game Maker autom?ticamente crea la variable "other", la cual se refiere a la instancia envuelta en la colisi?n.

De hecho yo mismo descartaba esa opci?n justo por el hecho del t?pico c?digo que a veces se pone con la funci?n "with" que directamente utiliza "other" como la "ID" de referencia para asignar variables o funciones:
with(other)


+1 para t? Wadk XD


Un saludo,
- Herni