Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mensajes - kaliman777

151
Preguntas y respuestas / Re:Ayuda sobre image_index
Abril 11, 2012, 03:30:38 AM
Cita de: Exe_mas en Abril 11, 2012, 01:17:07 AM
Es lo mismo que el tuyo, pero no está pidiendo dibujar un sprite, esta pidiendo mover ese objeto. Te lo dejo más lindo, yo soy muy desfachatado en código, lo hago para agilizar la programación (no lo hagan en sus casas).

if aa.image_index=bb.image_index
{
ob_nube.x=50;
ob_nube.y=50;
global.puntos+=10
}

Gracias a ambos:

Me sale algo que no manejo bien. Este código es verificado con una alarma cada vez que que el objeto bb es creado. Por desgracia, me sigue sumando el score aunque no se dé la condición antes descrita.

Es decir, asume que siempre aa.image_index=bb.image_index.

¿Qué estará pasando?
152
Preguntas y respuestas / Ayuda sobre image_index
Abril 08, 2012, 05:05:11 PM
Hola:

Tengo problemas con este código, no me está funcionando. Quiero que me elaboren, por favor un trozo de código que haga esto:

"si la subimagen del objeto AA es igual a la subimagen del objeto BB (LA NÚMERO 12 por ejemplo), que se dibuje obj_nube en 50,50 y global.puntos +=10"

Si no le entienden, lo que quiero es saber exactamente cuál es el mejor código para comparar esta condición.
Dos objetos con la misma cantidad de subimágenes. Quiero trabajar con la condición de qué pasa si cada uno
tiene la subimagen número 12, por ejemplo.

Gracias
153
Cita de: knd144 en Marzo 03, 2012, 09:25:47 PM
¿Las bolas son sprite?
Y ¿cómo le haces para saber qué sprite salió? Las guardas en una variable, por el nombre en qué parte, o cómo  :-[

Por el momento he probado con dos opciones: un sprite de 90 subimagenes para las bolas y lo mismo para los numeros del cartón.

Si sale la imagen 20 del sprie bolas (bola 20 sería) y tengo el 20 en el cartón; que se dibuje una X sobre el numero 20 en el cartón.

He usado la otra opción: 90 sprites apartes bolas y 90 sprites para los cartones.

Es todo.  No puedo aún. Talves es con variables, pero no me sale.
154
Hola, mejor explico de qué se trata:

Programo un BINGO de los de 90 bolas. Al presionar el botón JUGAR, 30 bolas diferentes caen una a una y se colocan en sus respectivas posiciones. Nota: las 90 bolas son 90 sprites individuales y los números de los cartones también son sprites individuales.

Por otro lado tengo cartones para jugar y compararlos con las bolas que salieron con 15 números cada uno.

Ejemplo: Si salieron las 15 bolas con los mismos números que tenía el cartón 4, habré ganado un BINGO o cartón lleno.

¿Cómo logro que por ejemplo si sale la bola 15 y existe el número 15 en el cartón, se dibuje una X sobre el número 15 en el cartón? Es lo que quiero saber. Lo demás lo puedo hacer yo solo.

Ya saben lo que quiero: que al salir cada bola (30 de 90 posibles), se verifique si un número dentro del cartón tenía ese valor de la bola.
155
Cita de: ferhand en Febrero 15, 2012, 05:07:28 PM
Saludos Makero kaliman777:

  Tengo una pregunta. ¿El objeto "parent" del que hablas, que es el encargado de detener las "bolitas", es el padre de las "bolitas"? Si es así, cada "bolita" ejecuta el código de detenerse. Ese me parece que es el problema.

  Deberías tener un objeto que se encargue de realizar el chequeo de colisión, no tantos objetos, pues se puede "marear" el juego.

  Mi propuesta es diseña un objeto que chequee "bolita" por "bolita" si está en movimiento primero y después si está lo suficientemente cerca como para detenerla. Creo que de esta forma no se superpondrán una con otra.

  Si esto no funciona, puede ser que el chequeo de colisión se realiza tarde, cuando ya es inminente. Deberías hacer el chequeo según la velocidad.

  Por ejemplo:  Si me muevo a cinco (5) "píxeles" por segundo el cheque debo hacerlo en el "step" anterior. Si en el próximo paso de cinco (5) "píxeles" chocaría, entonces detengo la "bolita" y la posiciono a la distancia deseada.

  Espero te sirva de algo, de todas formas estoy encontacto...


Game Over..

   


Sí, Ferhand. Uso un pariente porque no se me ocurrió cómo hacer que 90 bolas trabajen la colisión entre ellas mismas. Busqué un padre que las reconoce como diferentes a ellas mismas entre sí.

Fíjate que sólo con un sprite me sale el problema, lo raro es que es igual en todo a los demás. Sólo camvbia la figurita, es la bola 2.

Talvez usando otro objeto controlador, pero no sé qué código usar, talvez con variables.

Veré q hago,

saludos y gracias
156
Cita de: elviskelley en Febrero 14, 2012, 07:43:02 AM
if place_meeting(x+lengdir(2,path_direction),y+lengdir(2,path_direction),obj...)
path_end()
El codigo es qasi aunque lo escribi mal pero al escribirlo al gm este recuerda que te completara cada codigo asi que escribelo no uses copy paste

Bueno, Gracias Elvis:

Lo hice así:

Event STEP del objeto pariente:
if place_meeting(x+lengthdir_x(2,path_direction),y+lengthdir_y(2,path_direction),pariente_bolitas)
{path_end(){path_speed=0}}


No funciona, siempre algunos pares se detienen montados, traslapados en un 25%.
157
Cita de: MaanuRP en Febrero 13, 2012, 02:01:09 AM

path_position -= //Lo que equivale a 2 pixeles en tu path iria aca
path_end()


Me parece que funcionaria asi.

A ver MaanuRP, hermano, dónde pondrías este código, en cada bola? en qué evento?

Explico con cucharas lo que quiero:

1) Presiono el botón JUGAR
2) 30 Bolitas salen una a una cada un segundo, todas siguen el mismo PATH.
3) La primera se detienen donde termina el PATH.
4) La segunda, se detiene justo dos pixeles antes de chocar con la otra y así lo mismo todas las demás.

¿Por qué algunas (no todas) chocan con la anterior y la empujan un poco y luego quedan montadas a la mitad?

Ayuda, nada me funka aún.

Gracias :'(
158
Hola:

Me urge un poco saber cómo hago esto:

Verán, lanzo 30 bolitas de igual tamaño y forma, pero de colores diferentes, al crearse se mueven siguiendo un PATH. Lo que quiero es que cada bolita al llegar y colisionar con la bolita anterior, se detenga justo dos pixeles antes, es decir casi pegaditas. Cuando cada bolita llega a donde está detenida la anterior, el PATH termina para ella y así sucesivamente cada una se deteniendo justo antes de la anterior a lo largo del path.

Hasta ahora lo hago con un objeto parent que hace esto, pero en ocasiones ellas chocan con la anterior y la empujan y luego quedan traslapadas, una casi sobre la otra. Estoy usando este código, más o menos:

colision event with parent
path_end()

PD: el sprite lo tengo centrado.

¿Cómo hago que me queden separadas cada una en su sitio?

Gracias , me urge para terminar un jueguito.
159
Preguntas y respuestas / Re:duda con variables
Febrero 08, 2012, 04:35:05 AM
Bueno aquí hay varios errores que estás cometiendo, al parecer:

1. Si se te dibuja el 100 indica que declaraste la variable en DRAW y no en create.
2. Cuando se te desaparece un sprite dibujado casi siempre es porque a este objeto le has puesto a que dibuje algo y él mismo desaparece.

3. Cuando las variables te dan problemas, entra a global game settings y elige en errors "set to 0 all treat variables". Algunos no lo hacen, pera mí me va bien.
160
Gracias, reduje la alarma a 2 env?s de 9 y ya no me da problemas.

Saludos
161
Hola Se?ores: Este objeto es una pila de cartas de mi juego de poker, naipes de 52 m?s 4 rev?s o partes traseras. Cuando salen los 5 naipes yo puedo cambiarlos 0 ? los 5 si quiero. Pero cuando estoy eligiendo un naipe, se me da un efecto as?: muestra el naipe, luego su rev?s y as? hasta que debo hacerle clic hasta 6 veces, esto me aburre. Quiero que de un solo se cambie el jodido naipe por el otro. El c?digo me lo di? un gringo, estoy seguro que el efecto absurdo este, se encuentra en los eventos del rat?n.

Ayudaaaa!!! por favor

Information about object: cardbut //pila de naipes

Sprite: Card
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent: <no parent>
Mask: <same as sprite>

Create Event:
set variable image_single to 53
set variable side[0] to 0
set variable draw to 0

Alarm Event for alarm 0:
set Alarm 1 to 9
set variable image_single to 52

Alarm Event for alarm 1:
set variable image_single to side[0]

Mouse Event for Left Button:
if expression dealer.mode=2 is true
      set variable draw to 1-draw
      set variable image_single to (53+dealer.backs)*draw+(1-draw)*side[0]
      play sound choose; looping: false
else
      play sound nono; looping: false

Mouse Event for Right Button:
if expression (dealer.mode=2) && (dealer.cheater) is true
      set variable side[0] relative to 1-52*(side[0]=51)
      set variable image_single to side[0]
162
Cita de: jefferson940 en Enero 04, 2012, 03:27:56 PM
yo lo haria de esta forma
voy a usar variables a mi gusto y luego tu lo organizas:

evento create:
score=0
aumento=0

evento step:
if aumento>0 and aumento<100
   {score+=1; aumento-=1;} else         //aqui aumenta de 1 en 1
   {score+=5; aumento-=5;}              //aqui de 5 en 5

evento draw:
draw_text(100,100,string(score));

Gracias Jeff:

Hice unos arreglos y le puse una variable velocidad, en el EV Step. Ya me funka. :-*
163
Hola gente:

Para hacer que los puntos ganados en mi juego sean dibujados uno a uno (moneda a moneda) estoy usando este c?digo:

Create Event
global.score=score_falso


//Step Event

{score_falso += ((score_falso<global.score)-(score_falso>global.score))}

//Lo que hace score_falso es sustituir a global.score y es quien da el efecto. En realidad paga un cr?dito por step, pero quiero m?s velocidad.


Draw Event //A quien dibujo es a score_falso, pero en fin son iguales, no me afecta el valor de global.score.

draw_text(100,100,score_falso)

La pregunta del mill?n de d?lares: ?C?mo logro que en pagos altos (m?s de 100) la velocidad de este conteo sea m?s de un cr?dito por step, qu? le agrego a este c?digo?

Gracias espero alguna idea.[/size]
164
Cita de: romon_28 en Enero 03, 2012, 03:34:57 PM
evento create

for(i=0;i<15;i+=1) { NR=0 }


eveto draw

X=0;
Y=0;
i=0;

do()
{
if global.Numero_Aleatorio = i || NR=1
{
  NR=1
  draw_sprite(sprite_circulo_o_cruz,0,x+(32*X),y+(32*Y))
}

draw_sprite(sprite_numero,i,x+(32*X),y+(32*Y));

X+=1;
if X>=5 { Y+=1; X=0; }
i+=1
}until(Y<3)



Fijate.. seguro que es algo asi. a lo mejor tenes que modificarle algo.

Ummm... me esperaba algo menos enredado como:

[gml]if global.numeros.image_index==global.bola.image_index{draw_sprite(global.bola.x+1,global.bola.y+1,sprite_cuadroamarillo))}g[/gml]

No s? pero ando como confucio, el chino.
165
Cita de: elviskelley en Enero 03, 2012, 08:16:21 PM
if global.score>=1 && global.score<=100
{global.score-=1}
else
if global.score >100{global.score-=10} //aca estaba el error.
if global.score<1 {global.score=0}

Muchas gracias Elvis, as? me funciona.

Saludos