Героят да може да отива само до най-далечната точка |
Здравейте ( Вход | Регистрация )
Героят да може да отива само до най-далечната точка |
20:30:53, 12-November-2009, Thursday
Коментар
#1
|
|
Засмян тъпоъгълник :D Група: Администратор Коментари: 1790 Регистриран: 21.07.08 Град: Това е място, населено с много хора. FPS: 60 Потребител № 1116 |
Прост проблем, сложно решение.
Ето го нагледно: Пчелата може да отиде навсякъде, където има синя точка, но мен ми трябва да отиде само до най-далечната от всяка група. Примерно може да отиде от А до Б, но трябва да може да отива само от А до В. Нямам си и на идея как ще стане това.Ако се сетите за алгоритъм, който може да се изпълни лесно в гм, казвайте. Това е единственото нещо, което ме затруднява.Както виждате, не е брейкаут. Ето го кода, който прави другите проверки: Код 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 Я недейти са карайти тука че да ни ва зашливйъ |
|
|
Олекотена версия | Час: 09:54:54, 02.06.24 |