Hola:

Podr?a alguien decirme c?mo hago alg?n c?digo para que cuando las instancias de dos objetos coincidan en un mismo eje x, ocurra alguna acci?n espec?fica por ejemplo dispararle uno al otro, destruirse, sumar score.

Por ejemplo cuando obj_cazador y obj_venado coincidan en el eje de las Xs, el cazador dispare. Esto no suceder? por ejemplo si un obj_venado y un obj_leopardo se interceptan. S?lo cazador-animales.

Prob? con la condicionante if creando variable disparar, pero no me funcion?.

He revisado varios post pero ninguno me responde esta inquietud.

Gracias de antemano.

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

if x=venado.x
{
//aqui las acciones
}
o si quieres chekear la distancia
if distance_to_object(venado)<100//si esta a menos de 100 pixeles
{
//aqui las acciones
}

Orgulloso veterano de CGM
El poder de hacer un buen juego esta en tus manos.

Gracias amigo:

Perdona mi ignorancia, pero d?nde pongo este c?digo en step, en create?Espec?ficamente cuando los dos objetos se ubiquen en dos posiciones, c?mo le ordeno que me incrementen el score?

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

#3 Octubre 27, 2009, 04:54:02 PM Ultima modificación: Octubre 27, 2009, 04:55:34 PM por DarkKRuleR
Tambien, es posible que no funcione porque alomejor no tienen el mismo tama?o, asi que prueba tambien esto, en STEP... pero, por lo que leo, si quieres que reaccionen al estar a la misma altura la coordenada que debe ser igual es la y, la x igual seria al estar encima del otro, bueno:

if y>obj_venado.y-20 and y<obj_venado.y+20 {//aqui lo que debe pasar al tener la misma y} por ejemplo, score+=1, esto sumaria constantemente el score siempre que se encuentren

asi obligatoriamente no pasa al estar en la misma coordenada sino un poco mas o menos... si no funciona (puede ser porque me lio xD) en el primero pon +20 y el segundo -20, pero creo que asi sirve) claro esto va en step del cazador, y repetirias el codigo con cada animal, de momento
en el code hay un margen de 20 pixeles a cada lado, recuerda que donde se cuentan las coordenadas es en el PUNTO DE ORIGEN del sprite, y para que se cumpla el code de
if x=obj_venado.x
deben coincidir exacto, cosa dificil
asi hay un margen de 20 pixeles a cada lado

#4 Octubre 27, 2009, 05:51:11 PM Ultima modificación: Octubre 27, 2009, 06:07:18 PM por kaliman777
Gracias. Los objetos son en la vertical, en el eje de las Xs, pero quien cambia es la Y. Estoy probando, y me dice que no conoce la variable Y, c?mo la ingreso en CREATE?


Gracias mil nuevamente.

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

#5 Octubre 27, 2009, 06:08:07 PM Ultima modificación: Octubre 27, 2009, 06:10:33 PM por kakashigna
hola!!!
perdon por no responderte no he tenido tiempo y veo que darkruler ya te contesto,pero si quieres que pasen cosas mas concretas que aumentar score deberias leer los capitulos basicos de GML(asignaciones,programas, sentencias if's,construcciones with,etc) en el manual XD

salu2 amigo ;D

edit:escribiste la variable y con mininusculas cierto?

Orgulloso veterano de CGM
El poder de hacer un buen juego esta en tus manos.

Cita de: kakashigna en Octubre 27, 2009, 06:08:07 PM
hola!!!
perdon por no responderte no he tenido tiempo y veo que darkruler ya te contesto,pero si quieres que pasen cosas mas concretas que aumentar score deberias leer los capitulos basicos de GML(asignaciones,programas, sentencias if's,construcciones with,etc) en el manual XD

salu2 amigo ;D

edit:escribiste la variable y con mininusculas cierto?

El problema es que uno se deprime cuando le tira puros errores y en eso de PRUEBA Y ERROR se le pasa una eternidad y sin resultados, luego la frustraci?n. Lo que uno hace es ir guardando c?digos v?lidos para luego hacer ya sin dificultades su juego, y este c?digo no le hallo XD!!!
La verdad es como la luz de una vela, que ni la oscuridad inmensa, puede opacarla.