Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: kaliman777 en Noviembre 26, 2010, 11:09:26 PM

Título: Objetos comodines
Publicado por: kaliman777 en Noviembre 26, 2010, 11:09:26 PM
Hola: hace un tiempo no tuve suerte preguntando esto:

?Existe forma de que un objeto al salir por azar dentro de otros m?s, pueda valer igual o hacer lo mismo que los dem?s?

Pongo esta comparaci?n: Digamos que cada objeto representa 6 im?genes de frutas y una subim?gen es un comod?n que sustituye a cualquier otra como si fuera ella. (ver imagen adjunta).



?C?mo lo har?an?

Gracias, s? que pueden.
Título: Re: Objetos comodines
Publicado por: charliegore en Noviembre 27, 2010, 01:32:55 AM
si me dices la manera en q haces que al aparecer 3 frutas o helados o lo que sea(q sean la misma cosa) ganes
capaz podria ayudarte y no se te haria tan dificil al implementarlo.
yo pienso que haciendo q si tienes x caracteristica q haga q 3 objetos con la x caracteristica hagan q ganes, o si otros 3 objetos con la y caracteristica tmb haga que ganes, este objeto "comodin" tenga las 2 caracteristicas, entonces cualquiera que toque el juego lo reconoce como si fuera los otros objetos. no si se entiende pero nesecito mas informacion sobre como es que el juego reconoce a los objetos. n.n
Título: Re: Objetos comodines
Publicado por: Wadk en Noviembre 27, 2010, 02:54:33 AM
Suponiendo que los id de los objetos se guardan en un array objetos, y que tienen una variable imagen que indica que imagen est?n mostrando y 0 corresponde a el comod?n (la propia oraci?n :P):
[gml]g = objeto[0].imagen;
if (g == 0){
    g = objeto[1].imagen;
}else if (objeto[1].imagen != g){
    g = -1;
}
if (g == 0){
    g = objeto[2].imagen;
}else if (objeto[2].imagen != g){
    g = -1;
}[/gml]
Al final, la variable g contendr? -1 al perder, o el n?mero de la imagen ganadora de lo contrario.
Título: Re: Objetos comodines
Publicado por: kaliman777 en Noviembre 29, 2010, 02:34:44 PM
Cita de: Wadk en Noviembre 27, 2010, 02:54:33 AM
Suponiendo que los id de los objetos se guardan en un array objetos, y que tienen una variable imagen que indica que imagen est?n mostrando y 0 corresponde a el comod?n (la propia oraci?n :P):
[gml]g = objeto[0].imagen;
if (g == 0){
    g = objeto[1].imagen;
}else if (objeto[1].imagen != g){
    g = -1;
}
if (g == 0){
    g = objeto[2].imagen;
}else if (objeto[2].imagen != g){
    g = -1;
}[/gml]
Al final, la variable g contendr? -1 al perder, o el n?mero de la imagen ganadora de lo contrario.

Gracias Wadk. Lo estoy implementando, aunque te confieso que los arrays a mi me dan inseguridad, no por ellos sino por m? que no los manejo muy bien. No me qued? muy claro qu? es lo que hace exactamente tu c?digo. S?lo supongo que le asigna a la subimagen comod?n el valor de otras, pero no interpreto bien este c?digo. :-[
Título: Re: Objetos comodines
Publicado por: Wadk en Noviembre 29, 2010, 10:47:39 PM
Los arrays no son nada complicados de usar. B?sicamente un array es una variable con varios valores ordenados.
Supongo que cada "slot" es una instancia de un objeto, y que tenes otro objeto que se encarga de chequear si luego de girar cada slot se debe entregar un premio o no. Si los tres slots son instancias de objetos distintos, en create del objeto de control deber?as tener algo as?:
[gml]objeto[0] = objSlot0;
objeto[1] = objSlot1;
objeto[2] = objSlot2;[/gml]
Si no, deber?as sacar los objetos del room y crearlos durante el juego as?:
[gml]objeto[0] = instance_create(10, 10, objSlot);
objeto[1] = instance_create(30, 10, objSlot);
objeto[2] = instance_create(50, 10, objSlot);[/gml]
(por supuesto que todos los valores son de ejemplo).

Mi c?digo asume que cada instancia de los slots tiene una variable llamada imagen, que esa variable indica por medio de un n?mero la imagen de cada slot, y que el n?mero 0 corresponde al comod?n. El 1 por ejepmlo podr?a corresponder a la imagen con frutas que hay en la imagen que pusiste de ejemplo, el 2 a otra imagen, el 3 a otra.
El c?digo hace lo siguiente:
+-------+-------+-------+-------+
| Slot0 | Slot1 | Slot2 | Var g |
+-------+-------+-------+-------+
|   x   |   x   |   x   |   x   |
|   x   |   x   |   0   |   x   |
|   x   |   0   |   x   |   x   |
|   x   |   0   |   0   |   x   |
|   0   |   x   |   x   |   x   |
|   0   |   x   |   0   |   x   |
|   0   |   0   |   x   |   x   |
|   0   |   0   |   0   |   0   |
+-------+-------+-------+-------+

Donde x es cualquier n?mero.
?Se entiende?
Si no se da ninguno de esos casos, la variable g queda en -1.

Si quer?s algo m?s espec?fico decime donde y de qu? forma guard?s la imagen que muestra cada slot, y si los slots son instancias de un mismo objeto o de distintos objetos.