Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: kostra en Febrero 23, 2015, 02:25:46 PM

Título: [fisicas] Unir "fixtures"
Publicado por: kostra en Febrero 23, 2015, 02:25:46 PM
Buenas, ando apreniendo el royo de las físicas, voy bien, pero ahora estoy con el royo de las colisiones más complejas. estoy tratando de tener una colisión perfecta en un sprite de una cruz ( esto -> + ) y siguiento tutoriales de youtube de un rubito en inglés que muchos habréis, probablemente, visto xD he seguido sus pasos amolde mi proyecto... pero no me sale xD
mi código en el create de la cruz es el siguiente:
select = 0;

//fixture
xoff = sprite_xoffset;
yoff = sprite_yoffset;

fix = physics_fixture_create();
physics_fixture_set_box_shape(fix,32,32);
physics_fixture_set_density(fix,0.5);
physics_fixture_bind(fix,self);
physics_fixture_delete(fix);

fix2 = physics_fixture_create();
physics_fixture_set_polygon_shape(fix2);
physics_fixture_add_point(fix2,10-xoff,0-yoff);
physics_fixture_add_point(fix2,22-xoff,0-yoff);
physics_fixture_add_point(fix2,22-xoff,10-yoff);
physics_fixture_add_point(fix2,10-xoff,10-yoff);
physics_fixture_set_density(fix2,0.5);
physics_fixture_bind(fix2,self);
physics_fixture_delete(fix2);

fix3 = physics_fixture_create();
physics_fixture_set_polygon_shape(fix3);
physics_fixture_add_point(fix3,0-xoff,10-yoff);
physics_fixture_add_point(fix3,32-xoff,10-yoff);
physics_fixture_add_point(fix3,32-xoff,22-yoff);
physics_fixture_add_point(fix3,0-xoff,22-yoff);
physics_fixture_set_density(fix3,0.5);
physics_fixture_bind(fix3,self);
physics_fixture_delete(fix3);

fix4 = physics_fixture_create();
physics_fixture_set_polygon_shape(fix4);
physics_fixture_add_point(fix4,10-xoff,22-yoff);
physics_fixture_add_point(fix4,22-xoff,22-yoff);
physics_fixture_add_point(fix4,22-xoff,32-yoff);
physics_fixture_add_point(fix4,10-xoff,32-yoff);
physics_fixture_set_density(fix4,0.5);
physics_fixture_bind(fix4,self);
physics_fixture_delete(fix4);


antes de eso, todas las variables "fix" estaban igual, sin el numerito, entonces pensé que al ser varias colisiones juntas, deberían tener distinta variable por si al poner la última se suplantaba... pero tampoco, me sale clisión SOLO en el último párrafo... y si boro ese último, me sale la colisión del antepenultimo, que viene a ser el último al borrar el ultimo de antes xD...

como es un "copiar y punto" no logro bien entender su funcionamiento, por eso... quiero saber cómo "unir" todos los párrafos para tener una colisión completa... y bueno, el primer fisture, el del "box"... no entiendo para qué sirve :S pero lo puse por si fuera eso que me faltaba :/ pero la colisión que nedesito son solo las 3 últimas partes.