GMC Bulgaria

Здравейте ( Вход | Регистрация )

 
Reply to this topicStart new topic
Героят да може да отива само до най-далечната точка
яверт
коментар 20:30:53, 12-November-2009, Thursday
Коментар #1


Засмян тъпоъгълник :D
Икона на група

Група: Администратор
Коментари: 1790
Регистриран: 21.07.08
Град: Това е място, населено с много хора. FPS: 60
Потребител № 1116



Прост проблем, сложно решение.
Ето го нагледно:

Пчелата може да отиде навсякъде, където има синя точка, но мен ми трябва да отиде само до най-далечната от всяка група.
Примерно може да отиде от А до Б, но трябва да може да отива само от А до В.
Нямам си и на идея как ще стане това.Ако се сетите за алгоритъм, който може да се изпълни лесно в гм, казвайте.
Това е единственото нещо, което ме затруднява.Както виждате, не е брейкаут. smile.gif
Ето го кода, който прави другите проверки:
Код
if x==xprevious&&y==yprevious&&position_meeting(mouse_x,mouse_y,sgl)&&collision_line(x,y,mouse_x,mouse_y,psgl,1,1)<0
{
var ind;
ind=instance_position(mouse_x,mouse_y,sgl);
if instance_position(mouse_x,mouse_y,sgl)!=instance_place(x,y,sgl)
    {
         var k;k=5;
         var tx, ty;
         tx=ind.x+ind.sprite_width/2;
         ty=ind.y+ind.sprite_height/2;
         if round(point_direction(x,y,tx,ty)/k)*k==round(26/k)*k||
         round(point_direction(x,y,tx,ty)/k)*k==round(90/k)*k||
         round(point_direction(x,y,tx,ty)/k)*k==round(153/k)*k||
         round(point_direction(x,y,tx,ty)/k)*k==round(206/k)*k||
         round(point_direction(x,y,tx,ty)/k)*k==round(270/k)*k||
         round(point_direction(x,y,tx,ty)/k)*k==round(333/k)*k
         {
         celx=tx;
         cely=ty;
         }  
    }
}

sgl и psgl са шестоъгълниците.

Тези сини точки и червени линии ги няма в играта, направих ги на пейнта само за разяснение.


--------------------
Цитат
Пешо:
4:53:46
Я недейти са карайти тука че да ни ва зашливйъ
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 потребител(и) четат тази тема (1 гости и 0 скрити)
0 Потребител(и):

 



Олекотена версия Час: 09:54:54, 02.06.24