Наконец разобрался. Читать далее Add, Del, Move — all works!
Автор: Tolik
Добавил, удалить, переместить
Надо молчать о том, что я делаю, пока я это не сделаю. А то вскользь оброненное в процессе обдумывания тут же превращается учителем в работающий аккуратный код. С одной стороны удобно — есть наглядный пример как надо делать. С другой стороны я не могу удержать в голове столь сложные конструкции и просто списываю готовые решения. Читать далее Добавил, удалить, переместить
TOOTH
Особенность этого трека в том Читать далее TOOTH
Как запускать код на PureBasic
Я постоянно публикую ссылки на github, но нигде не написал как запускать код на PureBasic который я пишу. Гуглим purebasic. Заходим на официальный сайт (на данный момент purebasic.com) качаем демо версию компилятора. Устанавливаем. Вставляем код в появившееся окно компилятора. Нажимаем F5. Готово, программка работает. Читать далее Как запускать код на PureBasic
UTRO
Сербский. Начало
Это ж сайт про обучение. Так что открываю новую рубрику. Находясь в Сербии буду потихоньку учить сербский, а сюда выписывать новые слова. Вчера ходили покупать себе спальное место. Читать далее Сербский. Начало
2 точки и линия
И вправду утро вечера мудренее. Сделал то, что казалось займёт неделю.
Сначала починил проверку попадания в точку. Оказалось достаточно просто написать если попал, popal = 1, если не попал popal = 0 :-)
Затем добавил вторую точку. Напрашивается написание процедуры для управления множеством точек, а не только двух.
Добавил линию между ними.
При перемещении точки на ее месте, как писал вчера, рисуется белая точка. Так же поступил и с линией. Только она оставляет на точках забавные засечки. Будем думать как от этого избавиться.
Шаг назад
Сегодня вернулся обратно на канву. Не гоже перемещать кусочки канвы по полотну программы. Нам нуно перемещать объекты по канве. Но прикол в том, что точки и линии, которыми я оперирую не являются объектами. И к ним нельзя обратиться напрямую. Поэтому я запоминаю их координаты и если нынешнее положение курсора совпадает с ними — я начинаю какое-то действие. Например сегодня я применил грязный хак, который рисует белый кружок на месте черного, чтобы его стереть и рисует новый чёрный кружок в том месте, где была отпущена мышка. Правда после первого нажатия можно больше не целиться в кружок — он будет всегда появляться там, где была отпущена мышка.
Это визуальный шаг назад, ведь вчера я оперировал уже двумя точками, а сегодня снова одной, но это шаг вперёд к пониманию как это вообще работает. Читать далее Шаг назад
Двигаем канву по окну
Перечитал код программы на свежую голову. Оказывается мы двигает не рисунок по канве, а канву по окну программы. Не изящное решение…
Переделал картинку в точку. Добавил еще одну точку. Глобализовал переменные и вынес передвижение точек в процедуру. Далее попытаюсь прочертить между ними линию, которая будет следовать за точками. Читать далее Двигаем канву по окну
Передвигаем картинку по канве
Сегодня хотел написать перетаскивание уже нарисованных линий. Стал пытаться запихать их в массив. Потом подумал, что надо бы научиться таскать хотя бы одну линию. Написал. Не выходит. Решил начать с единственной точки. Нашёл в сети пример. Немного переделал под себя. Пока работает только с картинкой. Завтра попробую заменить его точкой и экстраполировать на отрезок заключенный между двумя точками. Читать далее Передвигаем картинку по канве