Hola amigos:
Uso GM8 PRO
En este engine muy simple, al clicar ENTER, aparecen 6 bolas en linea.
El asunto es que una de las bolas, que sale a veces, es diferente en aspecto a las dem?s, es amarilla y las otras verdes.
Ay?denme a que esta bolita, objeto llamado BWILD, no salga m?s de una vez, las dem?s si pueden, menos esta. Hagn el cambio que quieran al engine. Lo que sea. Con tal de lograr que BWILD solo salga una vez y SOLO UNA VEZ.
Gracias.
Supongo que ha de ser un c?digo usando probabilidades. En algunos juegos, ciertos objetos no aparecen m?s de una vez, o se controla (sin violar la aleatoriedad)el n?mero de veces que salgan en ciertas coordenadas, aunque existan varias instancias de ellos. Por ejemplo en los comodines de las tragamonedas de los casinos. Nunca sale m?s de uno en un carrete giratorio. Y que salgan los tres grandes es casi imposible, mientras que los dem?s salen a chorro.
:( Me urge resolver c?mo se logra esto. Me salen haste tres bolitas comodines en mi juego y no le hallo. :-[
Hola que tal kaliman777, no entend? muy bien que es lo que quieres conseguir.
?Quieres que una vez que se cree BWILD jam?s se vuelva a poder crear ? lo que quieres es que solo se pueda crear una por sorteo?
aun as? tu problema es que primero estas creando las instancias(del objeto BWILD) y si tienes mas de una las destruyes todas, lo que te lleva a 0, y de nuevo puedes crear mas instancias, adem?s de que estas encimado todas las instancias y no destruyes ninguna, (supongo que no quieres eso)lo que tienes que hacer es primero validar si ya creaste en alguna ocasi?n alguna instancia, y permitirlo si es que no lo has echo, de lo contrario pues no permitirlo. De cualquier forma en este momento modifico tu ejemplo para cualquiera de las dos preguntas te hacia ase un momento cuando termine edito y lo subo espero te sirva.
cualquier dudo o inconveniente h?zmelo saber.
Cierto, Sulcan. Que solo se cree una vez por sorteo. Ser?a un c?digo que si sale BWILD, me inactive cualquier otro BWILD que salga. Talvez usando instance_destroy(), pero que cree otro diferente para que no deje el espacio vac?o.
Tambi?n he probado con este y nada.
Me pregunto si aparte de en CREATE, habr? otro evento donde yo puede hacer que el sprite_index cambie. Porque me servir?a esto tambi?n para resolver el asunto.
[gml]if instance_number(BWILD)>=1 {with other {image_index+=1}}[/gml]
Gracias, estar? esperando a ver si sale alguna soluci?n. XD
Bueno por lo que me dices supongo que no es importante que sean objetos distintos, por lo que hice una modificaci?n donde es solo un objeto pero cada instancia tiene una imagen distinta, espero te sirva?
Cualquier duda estoy para servir. :D
Gracias Sulcan: Lo prob? y cumple con lo previsto: nunca se repiti?, es un excelente resultado.
Lo estoy aplicando a mi juego, si algo no me cuadra te lo hago saber ma?ana. Aprovecho para que me ayudes a aclarar una duda: ?Puede un evento STEP cambiar el image_index de un objeto? Creo que este c?digo que he usado antes no funciona, ?por qu? ser??
CREATE EVENT
[gml]obj_2.image_index=random(10) [/gml]
STEP EVENT
[gml]if obj_1.image_index=10 {(with obj_2) image_index=random(9)}
else
{(with obj_2) image_index=random(10)}
[/gml]
Gracias de nuevo.
Que bueno que sirva, en cuanto a tu duda, si, si lo hace pero toma en cuenta que a diferencia del evento create que solo ocurre una vez, en step lo hace todo el tiempo por lo que al cambiar la imagen en random en el evento step estas ?simulando? una animaci?n aleatoria por lo que no notaras una diferencia, si no lo quieres animado debes declarar image_speed=0 (puede ser en create). Tambi?n al parecer, si condicionas una variable de obj desde otro objeto solo considera la primera instancia de obj ya que hay mas de una instancia de obj y tiene que decidir de alguna instancia que valor tomar. Una cosa mas, al poner el c?digo con par?ntesis (tal cual pones) me aparece error tuve que quitarlos para que funcionara. De cualquier forma te hice un peque?o ejemplo espero te sirva
suerte. :D
Gracias Sulcan. Lo que dices es cierto porque hab?a hecho un ejemplo y solo me consideraba la primera imagen de objetos con m?ltiples im?genes.
F?jate que me hall? un obt?culo a la hora de aplicarlo: en este engine tenemos un mismo objeto con 6 repticiones. Pero c?mo ser?a para seis objetos diferentes, siempre con las mismas subim?genes ?habr? alguna diferencia con el c?digo?
Mis objetos son bola1, bola2, bola3, bola4, bola5 y bola6. Cada una con los 9 d?gitos y el comod?n como subim?genes. De cada uno de estos es que sale una de las 6 en l?nea.
No lo apliqu? porque me enred? un poco y mi juego me ha llevado 6 meses hacerlo. Esper? a que me aclares un poco el panorama.
En realidad no hay ning?n problema, puedes hacer cuantos objetos quieras, solo dupl?calos funciona igual. Supongo que haces eso para poder manipular cada elemento por separado durante el juego, (yo lo pongo en un solo objeto que crea varias instancias con el fin de ahorrar recursos, pero no creo que haya mucha diferencia) solo recuerda que si lo desearas con un solo objeto puedes usar las id de cada uno para referirte a ellos. Bien espero haberte ayudado.
Suerte :D
Cita de: sulcan en Julio 01, 2011, 10:09:39 PM
En realidad no hay ning?n problema, puedes hacer cuantos objetos quieras, solo dupl?calos funciona igual. Supongo que haces eso para poder manipular cada elemento por separado durante el juego, (yo lo pongo en un solo objeto que crea varias instancias con el fin de ahorrar recursos, pero no creo que haya mucha diferencia) solo recuerda que si lo desearas con un solo objeto puedes usar las id de cada uno para referirte a ellos. Bien espero haberte ayudado.
Suerte :D
Gracias, Brother. Estoy trabajando en eso. Saludos cordiales.