Si en gm todo fuera como eso ???.
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.
661
Preguntas y respuestas / Re: RESUELTO: Jugador contra IA en un motor de Super Mario. Es posible?
Marzo 13, 2011, 06:13:56 PM662
Preguntas y respuestas / Re: Como hacer que huya de ti?
Marzo 13, 2011, 06:07:32 PM
Pues pones en el evento step de tu enemigo esto [gml]if distance_to_object(personaje)<100{x-=sign(personaje.x-x)}[/gml]
cambia el 100 por la distancia y donde dice personaje c?mbialo por el nombre del objeto al que huye.
cambia el 100 por la distancia y donde dice personaje c?mbialo por el nombre del objeto al que huye.
663
Preguntas y respuestas / Re: GM8: mi personaje dispara solo por el lado derecho.
Marzo 13, 2011, 05:57:06 PM
pues puedes poner en el evento create de la bala un codigo que diga as?
[gml]direction=obj_personaje.direction //cambia obj_personaje por el nombre del objeto que disparo la bala[/gml]
[gml]direction=obj_personaje.direction //cambia obj_personaje por el nombre del objeto que disparo la bala[/gml]
664
Preguntas y respuestas / Re: Posiciones en End Step
Marzo 11, 2011, 08:03:07 PM
@lordgeorge: tal vez esto te ayude con tu teoria.
CitarEn algunas situaciones es importante conocer el orden en el cual el Game Maker procesa los eventos. Como sigue.
? Eventos Begin Step
? Eventos Alarm
? Eventos Keyboard, Key press, y Key release
? Eventos Mouse
? Eventos Step normales
? (ahora todas las instancias son colocadas en sus nuevas posiciones)
? Eventos Collision
? Eventos End Step
? Eventos Drawing
Los eventos de creaci?n (create), destruir (destroy) y otros son generados en el momento pertinente.
665
Preguntas y respuestas / Re: por que no funciona
Marzo 08, 2011, 06:19:00 AM
Cierto wadk me hab?a olvidado por completo de "mod" ademas me agrada que le haga mas competencia al if que el anterior m?todo, y que si por alguna extra?a raz?n si sub_imagen llega a ser mayor que 8 siga funcionando.
EDIT: Al parecer alguien escribi? antes que yo
EDIT: Al parecer alguien escribi? antes que yo
666
Preguntas y respuestas / Re: las coordenadas giran?
Marzo 08, 2011, 02:51:00 AM
Tambien puedes usar lengthdir_x() y lengthdir_y() en lugar de usar seno y coseno.
[gml]
x=flechita.x+lengthdir_x(32,flechita.image_angle)
y=flechita.y+lengthdir_y(32,flechita.image_angle)[/gml]
Y Ge no deberias de transformar el angulo a radianes antes de sacar su coseno o seno? as?
[gml]x=flechita.x+cos(degtorad(flechita.image_angle)*32;[/gml]
[gml]
x=flechita.x+lengthdir_x(32,flechita.image_angle)
y=flechita.y+lengthdir_y(32,flechita.image_angle)[/gml]
Y Ge no deberias de transformar el angulo a radianes antes de sacar su coseno o seno? as?
[gml]x=flechita.x+cos(degtorad(flechita.image_angle)*32;[/gml]
667
Preguntas y respuestas / Re: por que no funciona
Marzo 07, 2011, 07:47:29 AM
He much?simas gracias por todo lo que me has ayudado, me has sacado de muchas dudas.
668
Preguntas y respuestas / Re: por que no funciona
Marzo 07, 2011, 06:25:27 AM
hum pens? que era mas r?pido as? :-\ y yo ya con mis diversos codigos booleanos (bueno ni tan booleanos).
[gml]hvel+=max(-0.5,min(0.5,dir*4*grav_y-hvel))*abs(grav_y)
hspeed+=(keyboard_check(vk_up)*-8)*(!place_free(x+grav_x,y+grav_y))*grav_x
image_xscale=(dir+(image_xscale*(dir==0)))*sign(grav_x+grav_y)[/gml]
Pero la verdad no importa creo que seguir? con este m?todo, ?como le haces para saber cual es mas r?pido?
[gml]hvel+=max(-0.5,min(0.5,dir*4*grav_y-hvel))*abs(grav_y)
hspeed+=(keyboard_check(vk_up)*-8)*(!place_free(x+grav_x,y+grav_y))*grav_x
image_xscale=(dir+(image_xscale*(dir==0)))*sign(grav_x+grav_y)[/gml]
Pero la verdad no importa creo que seguir? con este m?todo, ?como le haces para saber cual es mas r?pido?
669
Preguntas y respuestas / Re: por que no funciona
Marzo 07, 2011, 05:42:54 AM
De cualquier modo muchas gracias 8), y otra pregunta rapida, ?si es un metodo mas rapido usar valores booleanos para estas cosas que usar ifs? de cualquier modo no lo hago por velocidad si no por que me parece algo mas organizado, claro que si es mas lento de vez en cuando si usare ifs.
670
Preguntas y respuestas / Re: por que no funciona
Marzo 07, 2011, 05:22:35 AM
Gracias killer tenias raz?n aunque tu c?digo dejaba la subimagen en 8 por que lo que hacia era multiplicar 1*(sub_imagen es menor a 8 ) y luego sumarle image_index (creo), pero lo repare poni?ndolo as?.
[gml]sub_imagen=(sub_imagen+1)*(sub_imagen<8)[/gml]
[gml]sub_imagen=(sub_imagen+1)*(sub_imagen<8)[/gml]
671
Preguntas y respuestas / Re: Reconocer direcci?n
Marzo 07, 2011, 04:57:47 AM
si le a?ades move_snap al final se arregla (creo).
[gml]while(collision_line(x+16,y+16,x+16+lengthdir_x(26,direction),y+16+lengthdir_y(26,direction),ob_pozo,0,1)){
direction=choose(0,90,180,270) move_snap(32,32)}
[/gml]
Yo te podr?a ayudar con lo de que te medio persiga pero la verdad es algo complicado y al menos a mi me tomar?a tiempo (que no tengo en abundancia).
[gml]while(collision_line(x+16,y+16,x+16+lengthdir_x(26,direction),y+16+lengthdir_y(26,direction),ob_pozo,0,1)){
direction=choose(0,90,180,270) move_snap(32,32)}
[/gml]
Yo te podr?a ayudar con lo de que te medio persiga pero la verdad es algo complicado y al menos a mi me tomar?a tiempo (que no tengo en abundancia).
672
Preguntas y respuestas / Re: por que no funciona
Marzo 07, 2011, 04:40:00 AMCita de: Masterkey en Marzo 07, 2011, 04:24:39 AMno quiero usar if por problemas con mi otro yo.
Que es eso? No ser?a mejor as?: image_index+=1 y en step, if image_index=8{image_index=0} ??
Cita de: MatuX en Marzo 07, 2011, 04:28:45 AMsi, si es una expresi?n booleana
depende en que parte lo hallas puesto es c?digo y en cuanto a esta expresi?n "*sub_imagen<8" es una expresi?n booleana???
673
Preguntas y respuestas / por que no funciona
Marzo 07, 2011, 04:12:21 AM
Pues es una pregunta simple por que no funciona este codigo
[gml]sub_imagen=(sub_imagen+1)*sub_imagen<8[/gml]
Seg?n yo el c?digo deber?a de sumar uno a sub_imagen y cuando llegue a 8 el valor volver? a ser 0, pero no sub_imagen se queda en 1 todo el tiempo.
Podria resolver el problema usando un simple if pero la verdad preferir?a no usarlo por razones personales y peleas con mi otro yo.
[gml]sub_imagen=(sub_imagen+1)*sub_imagen<8[/gml]
Seg?n yo el c?digo deber?a de sumar uno a sub_imagen y cuando llegue a 8 el valor volver? a ser 0, pero no sub_imagen se queda en 1 todo el tiempo.
Podria resolver el problema usando un simple if pero la verdad preferir?a no usarlo por razones personales y peleas con mi otro yo.
674
Preguntas y respuestas / Re: Reconocer direcci?n
Marzo 07, 2011, 04:04:09 AM
Ah me acabo de dar cuenta de que el c?digo que te di hace rato estaba mal mejor usa este, no resolvera el problema de que busque al personaje pero al menos ya no chocara contra las trampas .
[gml]while(collision_line(x+16,y+16,x+16+lengthdir_x(26,direction),y+16+lengthdir_y(26,direction),ob_pozo,0,1)){
direction=choose(0,90,180,270)}
[/gml]
va en step
[gml]while(collision_line(x+16,y+16,x+16+lengthdir_x(26,direction),y+16+lengthdir_y(26,direction),ob_pozo,0,1)){
direction=choose(0,90,180,270)}
[/gml]
va en step
675
Preguntas y respuestas / Re: Reconocer direcci?n
Marzo 07, 2011, 12:21:03 AM
Si lo que quieres es que te encuentre f?cilmente, te recomiendo usar un buen pathfinding, como este http://gmc.yoyogames.com/index.php?showtopic=286571