Junio 27, 2010, 04:39:28 PM Ultima modificación: Junio 27, 2010, 04:59:18 PM por kaliman777
?De qu? se trata?: Una tragamonedas de tres carretes, cada uno con 8 subim?genes con un efecto giratorio. Con tres alarmas hago detener cada carrete. Pero al detenerse, necesito que compare la subimagen visible (1) de cada carrete para que calcule si hay pagos. No he podido hacer bien el c?digo que funcione para eso p.e.:

"Si la subimagen 1 del objeto_carrete1 y la subimagen 1 del objeto_carrete2 y la subimagen 1 del objeto_carrete3 est?n alineadas en las coordenadas 60,120 y 180,120 y 300,120 respectivamente; show mensaje: ganaste 1000 cr?ditos y global.creditos +=1000;"

Por favor, he probado toda clase de c?digos para esto y cuando se da la condici?n no pasa nada. Lo de las coordenadas es una forma de decir, debe haber otras v?as de referrise.

PD: Pongo estos c?digos en el objeto Palanca, en el evento alarma 0, el que controla el inicio del juego.

Esp?ro su apoyo.
La verdad es como la luz de una vela, que ni la oscuridad inmensa, puede opacarla.

Cita de: kaliman777 en Junio 27, 2010, 04:39:28 PM
"Si la subimagen 1 del objeto_carrete1 y la subimagen 1 del objeto_carrete2 y la subimagen 1 del objeto_carrete3 est?n alineadas en las coordenadas 60,120 y 180,120 y 300,120 respectivamente; show mensaje: ganaste 1000 cr?ditos y global.creditos +=1000;"

No entendi bien lo de las coordenadas, pero creo que quieres que si las 3 tienen la misma subimagen ganes mil puntos
seria asi

if objeto_carrete1.image_index=objeto_carrete2.image_index and objeto_carrete3.image_index=objeto_carrete1.image_index {//lo que quieras que pase}

De las 8 subim?genes de cada carrete, s?lo una se muestra cuando se detienen. Esas tres sub visibles son las que quiero comparar, si son iguales que haga el pago.

He probado ese c?digo que me pasaste ya, pero por alguna raz?n no pasa nada cuando se verifica. Porque la pregunta es: ?El s?lo hecho de que esas subim?genes son las que se detuvieron y aparecen al frente, hace que el programa las interprete como ?nicas?

Algo no atina, talvez deb? poner este c?digo en otro evento como el left mouse pressed. Si tienes alguna otra idea por favor h?zmela saber Gracias!!!
La verdad es como la luz de una vela, que ni la oscuridad inmensa, puede opacarla.

El c?digo que te pas? brunoxzx parece estar bien. Tal vez est?s verificando en un momento err?neo. Como ver?s, image_index devuelve la subimagen que se est? mostrando del sprite asociado al objeto. Ahora si tu juego en vez de cambiar subimagenes cambia sprites ser?a diferente. Fijate ambas variantes




Cita de: Texic en Junio 27, 2010, 06:21:30 PM
El c?digo que te pas? brunoxzx parece estar bien. Tal vez est?s verificando en un momento err?neo. Como ver?s, image_index devuelve la subimagen que se est? mostrando del sprite asociado al objeto. Ahora si tu juego en vez de cambiar subimagenes cambia sprites ser?a diferente. Fijate ambas variantes

Buena observaci?n, Texic: lo que se cambian son subim?genes, as? que debo usar siempre image_index, creo que he metido algunos c?digos usando image_single.

Colgar? aqu? una copia y talvez ten?s el tiempo de revisarme el c?digo, ya que tienes una mejor pericia. Busca en objeto girar, en la alarma, ah? puse el c?digo para esto. Espero que me pueda ayudar.

Gracias!!! Estar? pendiente.
La verdad es como la luz de una vela, que ni la oscuridad inmensa, puede opacarla.

Uf, encontr? tu problema. Es algo simple en realidad, pero a la vez algo dificil de arreglar. Ten?s que hacer el sistema para girar de vuelta. Ten?s que poner UNA fruta en cada subimagen del sprite. Luego las vas a dibujar desde alg?n objeto. Ah? si pod?s chequear que sean iguales en una misma linea. Si quer?s te ayudo. Primero separ? las frutas, metelas todas en un sprite, pero una en cada subimagen, y no 3 como ten?s ahora




yo lo haria asi: si el sprite tiene 8 subimagenes, hago 3 objetos. Cuando llegan a image_index 8 hago que vuelvan a la 0. Con space detengo el primer rodillo y luego cojo el control del 2? y cuano doy al 3? rodillo, si me salen 3 limones por ejemplo,haria esto:
if rodillo3.parado = 1
{if rodillo1.image_index = 3 and rodillo2.image_index = 3 and rodillo3.image_index = 3
{score +=500; show_message(3 limones! ganas 500 score); rodillo1.parado = 0; rodillo2.parado = 0; rodillo3.parado = 0}}
Este codigo lo pones en un objeto que se llame global_object, en el evento step.
Noka siempre responde a los temas con 0 respuestas ^^

Bueno Texic, la segunda versi?n del juego era precisamente usando una fruta por subimagen, pero la animaci?n al girar era bastante simple, ni parec?a que giraban, se ve?an como si s?lo cambiaba un sprite por otro.

Voy a subir una demo con los sprites as? como los sugieres y desde luego avanzar? lo m?s que pueda y te pedir? una manita para el SCORE.

Gracias Nobakaure, tomar? en cuenta tu c?digo, en cuanto reforme mi juego. Ah? les dejo saber. Un saludo.
La verdad es como la luz de una vela, que ni la oscuridad inmensa, puede opacarla.

Ahi te prepar? un jugoso ejemplo, lo hice lo m?s realista que pude, espero que te guste  XD




Cita de: Texic en Junio 27, 2010, 11:08:28 PM
Ahi te prepar? un jugoso ejemplo, lo hice lo m?s realista que pude, espero que te guste  XD

Grax!! :P bajando...ya lo pruebo, y lo adapto porque ya avanc? bastantico con la nueva versi?n de una fruta por subimagen...

Te informo.
La verdad es como la luz de una vela, que ni la oscuridad inmensa, puede opacarla.

#10 Junio 30, 2010, 03:56:17 PM Ultima modificación: Junio 30, 2010, 04:27:55 PM por kaliman777
Bueno, Texic, he aplicado tu motor a mi juego de tragamonedas, pero al detenerlo siempre se para en la misma imagen. He probado ponerle random(x), pero igual se detiene en la misma.

Nota: Hice tres ruedas y con subimagenes cambiadas de orden, as? cada rueda siempre se detiene en la misma subimagen ?Qu? podr? ser?

Aqu? pongo el archivo.

Espero...
La verdad es como la luz de una vela, que ni la oscuridad inmensa, puede opacarla.

Para detenerlo usa image_speed=0 y image_index=round(image_index)
Otra cosa es que les tendr?as que poner distinta velocidad como en las ruletas reales (No es necesario que var?e mucho, s?lo un poco)




Cita de: Texic en Junio 30, 2010, 04:29:21 PM
Para detenerlo usa image_speed=0 y image_index=round(image_index)
Otra cosa es que les tendr?as que poner distinta velocidad como en las ruletas reales (No es necesario que var?e mucho, s?lo un poco)

Nada var?a, sigue igual. Si pod?s baja este demo y revisa en qu? la regu?, supongo que en el dibujo de los sprites. Por favor ?chale un ojo y me dices c?mo corregirlo.

Un saludo.
La verdad es como la luz de una vela, que ni la oscuridad inmensa, puede opacarla.