Saludos. Os escribo porque tengo un concepto de juego en mente, pero me he encontrado con un problema a la hora de implementarlo, a ver si me podeis ayudar.
Resulta que quiero generar alrededor de un punto, o bien una malla de hexagonos, o bien una de circulos, de forma que este punto siempre quede rodeado de circulos (o hexagonos, lo mismo me da) sin dejar huecos demasiado grandes y sin que se solapen las figuras.
La idea es crear una forma mas o menos circular a base de objetos circulares, o bien una forma hexagonal a base de objetos hexagonales:
(http://html.rincondelvago.com/000056000.png)
Ejemplo hexagonal, todos deberian de ser del mismo tama?o.
(http://4.bp.blogspot.com/_X8WP4WDmH_I/STay4q2Rq9I/AAAAAAAAABg/0omeR1ov-74/s1600/c%C3%ADrculo%2Bcrom%C3%A1tico%2B%5B1%5D.jpg)
Ejemplo circular, no importa demasiado el tama?o de los circulos.
?Alguna idea de como conseguirlo? esta ma?ana le he estado echando un buen rato, pero solo he conseguido estrellitas y algo parecido a un cultivo de bacterias XD
PD: Mmmm... ahora que lo pienso, para el caso de los circulos, quizas fuera mejor enfocarlo al reves, se crea una circunferencia y se van creando instancias circunscritas en los huecos libres... ?como lo veis? de todas formas, sigo muy interesado en las posibles soluciones que se os ocurran.
Hmmm... Algo dif?cil... Se me ocurre una dll llamada phyquics o similar(f?sica en espa?ol) tiene un aspecto similar a lo que pides en una de sus funcione. La idea ser?a crea muchos objetos en un mismo punto y que se vayan acomodando. No estoy seguro de que funcione.
Modifico para adjuntar un peque?o(pero dif?cil) ejemplo. Espero pueda servir, aunque sea que te d? una idea. El ejemplo lo hice yo, y olv?date de la dll que mencion?, esto v? a puso c?digo.
use esto en el evento create del objeto puento.
[gml]
radiu=0;
for (i=0;i<360;i+=360/8)//360/8=numero de objetos per linea
{
instance_create(x+lengthdir_x(radiu,i),y+lengthdir_y(radiu,i),Polygon);
radiu+=10;//linea atual
};
[/gml]
Muchas gracias a ambos por la ayuda, me habeis sacado de un apuro. Tras estudiar vuestros ejemplos, se me ha encendido la lucecita.
Evento Create:
[GML]x=room_width/2; y=room_height/2;
radio=25;
repeat 10 //En lugar de hacer una espiral, hacemos anillos concentricos.
{
for (i=0; i<360; i+=1440/radio) //1440 es un multiplo de 360, usamos mas objetos conforme nos alejamos del anillo central.
{
miobj=instance_create(x+lengthdir_x(radio,i),y+lengthdir_y(radio,i),object1);
}
radio+=25;
}[/GML]
Muy buena idea la de utilizar vectores Jiraya.
?Seguimos en contacto!
Hola, es esto lo que buscas (Adjunto)??? Saludos!!!