Соединение точек
|
|
AntiAlianKiller | Дата: Воскресенье, 18 Августа 2013, 02:26 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| Допустим, у меня есть 5 точек. они представляют из себя один и тот-же спрайт, отличающийся только приватной переменной ( от 1 до 5). Как сделать так, чтобы всех их соединяла линия ( направленная из текущей проверяемой точки в последующую ). В исходном виде должно выглядеть примерно так:
Вот исходник, в котором есть предварительная заготовка, которую надо подправить: СКАЧАТЬ
Заранее спасибо.
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
Сообщение отредактировал AntiAlianKiller - Воскресенье, 18 Августа 2013, 03:10 |
|
| |
Каракал | Дата: Воскресенье, 18 Августа 2013, 13:04 | Сообщение # 2 |
был не раз
Сейчас нет на сайте
| вот, держи. сделал через объект "line" conect
|
|
| |
Clowd | Дата: Воскресенье, 18 Августа 2013, 14:31 | Сообщение # 3 |
ONG studio
Сейчас нет на сайте
| Каракал, круто, я бы и не додумался...
|
|
| |
DimOk | Дата: Воскресенье, 18 Августа 2013, 16:37 | Сообщение # 4 |
ONG studio
Сейчас нет на сайте
| а я не успел...
Активно пользуюсь Godot Engine
|
|
| |
AntiAlianKiller | Дата: Понедельник, 19 Августа 2013, 11:49 | Сообщение # 5 |
постоянный участник
Сейчас нет на сайте
| Есть еще задача. Как сделать так, чтобы ID для каждого из узлов распределялись таким образом, чтобы при соединении не было пересечений линий?
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
|
|
| |
Каракал | Дата: Понедельник, 19 Августа 2013, 20:34 | Сообщение # 6 |
был не раз
Сейчас нет на сайте
| Хммм... Звучит как вызов! Вот, держи.
|
|
| |
AntiAlianKiller | Дата: Понедельник, 19 Августа 2013, 23:24 | Сообщение # 7 |
постоянный участник
Сейчас нет на сайте
| Есть еще одна задача! ( ) Как сделать так, чтобы внутри выбранная форма, границами которой являются линии, закрашивалась?
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
Сообщение отредактировал AntiAlianKiller - Понедельник, 19 Августа 2013, 23:25 |
|
| |
DimOk | Дата: Понедельник, 19 Августа 2013, 23:31 | Сообщение # 8 |
ONG studio
Сейчас нет на сайте
| AntiAlianKiller, юзай бейсик . PS я не знаю как но думаю с помощью image manipulator и canvas что нибудь получится.
Активно пользуюсь Godot Engine
|
|
| |
AntiAlianKiller | Дата: Вторник, 20 Августа 2013, 19:05 | Сообщение # 9 |
постоянный участник
Сейчас нет на сайте
| UP
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
|
|
| |
Nick_Rimer | Дата: Вторник, 27 Августа 2013, 15:16 | Сообщение # 10 |
заслуженный участник
Сейчас нет на сайте
| AntiAlianKiller, местными средствами я себе могу представить пока только такое извращение (логическое, но смысла не лишённое): так как ты имеешь соединённые между собой точки, то по-любому всё это представляет собой многоугольник. через каждую его грань можно провести воображаемую прямую, которая описывается неким уравнением (которое можно составить из координат вершин отрезка, коим в принципе является грань) и в принципе, имея на руках подобные данные, можно проверять каждую точку канваса, находится ли она внутри всех этих уравнений (куча логики), и если да, то закрашивать. в общем, не самое простое занятие, но именно такой хренотенью мы когда-то на 1м курсе института занимались на программировании в QC. весёлое было времечко.. и это была ещё не самая весёлая задача. да и после таких выяснений, по-моему, там с закрашиванием попроще.
можно придумать и что-то более интересное, вроде как от точки клика начинать по очереди закрашивать точки по какому-то алгоритму, например, пока они не будут сталкиваться с цветом границ.. короче, весьма муторную вижу я себе задачу..
Добавлено (27.08.2013, 15:16) --------------------------------------------- в общем, я изобразил закрашивание точками вот в таком примере по закрашиванию рандомных треугольников на канвасе: щёлк! правда, иногда бывает косяк (обычно на треугольниках с особо острыми углами), и тогда некоторые точечки вдоль граней не закрашиваются.. причину пока не понял но прям уж особо сильных косяков замечено не было (чтобы ваще чё-то другое вдруг перекрасилось)
конечно.. всё это сильно натянуто за уши, но (вдруг!) чем-то поможет.
- Доброе утро, Агент Пи!
Сообщение отредактировал Nick_Rimer - Вторник, 27 Августа 2013, 15:16 |
|
| |
AntiAlianKiller | Дата: Воскресенье, 01 Сентября 2013, 00:33 | Сообщение # 11 |
постоянный участник
Сейчас нет на сайте
| Nick_Rimer, Ничего себе! Была похожая мысль, но реализовать не осмелился. Большое спасибо!
Но все же косяк с не закрашенными пикселями - большая проблема. Дело в том, что все это мне нужно для генератора карт где каждый пиксель определенного цвета - блок. ( Синий пиксель - блок воды, зеленый пиксель - блок травы и т.д., - такой себе "сейв мира", который можно рассмотреть с помощью стандартных просмотровщиков фото, и передавать друг другу в виде *.png-файла )Добавлено (01.09.2013, 00:33) --------------------------------------------- Не совсем понятно, как такое реализовать с 4мя, 5ми, 6ми и т.д. точками... Можете переделать исходник так, чтобы кол-во генерирующееся точек настраивалось пользователем? А я, если хотите, посвещю вас в мой замечательный редактор карт ( там есть генерация озер, рек, дорог, биомов и т.д. )
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
|
|
| |