Воскресенье, 22 Декабря 2024, 17:28

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Соединение точек
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
был не раз
Сейчас нет на сайте
Хммм... Звучит как вызов! biggrin
Вот, держи.
AntiAlianKillerДата: Понедельник, 19 Августа 2013, 23:24 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
Есть еще одна задача! ( biggrin ) Как сделать так, чтобы внутри выбранная форма, границами которой являются линии, закрашивалась?

╔Искусственный интеллект - 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, юзай бейсик smile .
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)
---------------------------------------------
в общем, я изобразил закрашивание точками вот в таком примере по закрашиванию рандомных треугольников на канвасе: щёлк!
правда, иногда бывает косяк (обычно на треугольниках с особо острыми углами), и тогда некоторые точечки вдоль граней не закрашиваются.. причину пока не понял dry
но прям уж особо сильных косяков замечено не было (чтобы ваще чё-то другое вдруг перекрасилось)

конечно.. всё это сильно натянуто за уши, но (вдруг!) чем-то поможет.


- Доброе утро, Агент Пи!

Сообщение отредактировал Nick_Rimer - Вторник, 27 Августа 2013, 15:16
AntiAlianKillerДата: Воскресенье, 01 Сентября 2013, 00:33 | Сообщение # 11
постоянный участник
Сейчас нет на сайте
Nick_Rimer, Ничего себе! Была похожая мысль, но реализовать не осмелился. Большое спасибо!

Но все же косяк с не закрашенными пикселями - большая проблема. Дело в том, что все это мне нужно для генератора карт где каждый пиксель определенного цвета - блок. ( Синий пиксель - блок воды, зеленый пиксель - блок травы и т.д., - такой себе "сейв мира", который можно рассмотреть с помощью стандартных просмотровщиков фото, и передавать друг другу в виде *.png-файла smile )

Добавлено (01.09.2013, 00:33)
---------------------------------------------
Не совсем понятно, как такое реализовать с 4мя, 5ми, 6ми и т.д. точками... Можете переделать исходник так, чтобы кол-во генерирующееся точек настраивалось пользователем? А я, если хотите, посвещю вас в мой замечательный редактор карт ( там есть генерация озер, рек, дорог, биомов и т.д. ) biggrin


╔Искусственный интеллект - EVAbot
╠Убийственная музыка - EpicMus
╠Roguelike - Watcher of Dungeon
╠Однокнопочная стратегия - One Button Epic Battle
╠Он-лайн шутер - You Can Not win
╠Текстовый квест - TimeLess
╚Уникальный кликер - MineClick
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг