|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.11.2011, 16:36 | #1 |
Форумчанин
Регистрация: 10.01.2011
Сообщений: 243
|
Переход границы через курсор мышки
Здравствуйте форумчане.
Моя проблема состоит в том, что при заливке квадрата заливается и соседний, когда курсор мышки находится на их границе. Делать HideMouse или в этот момент задать желаемые координаты мышке не поучится, поскольку процесс заливки происходит до нажатия мышки. Внутри квадрата происходит "движение шарика". Как можно заливать цвет, чтобы курсор не являлся бы мостом между этими двумя квадратами? Код:
circeny - y центр квадрата в пиксельях функция into проверят был ли клик в нужной области. pressedx - номер строки квадрата в матрице pressedy - номер столбца квадрата в матрице |
10.11.2011, 11:56 | #2 |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
Я не понял, почему не получится спрятать курсор. Это, на мой взгляд, самое правильное действие в данной ситуации.
Предпочитаю на "ты".
|
14.11.2011, 15:29 | #3 |
Форумчанин
Регистрация: 10.01.2011
Сообщений: 243
|
Потому что это действие повторяется много раз. Пока игрок не нажмет на левую кнопку мыши.В течении этого времени мышка должна быть видна.
|
15.11.2011, 07:46 | #4 |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
Акоб, приведи, пожалуйста, кусок кода, как ты это делаешь. А то так разговор беспредметный выходит..
Предпочитаю на "ты".
|
15.11.2011, 09:22 | #5 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
программа — запись алгоритма на языке понятном транслятору
|
|
18.11.2011, 05:42 | #6 |
Форумчанин
Регистрация: 10.01.2011
Сообщений: 243
|
TinMan, код я привел наверху.
evg_m, вы не правы, курсор не состоит из одной точки.Часть курсора находится на одном квадрате, а другая на другом. Проблема решилась, я отказался от функции floofill, и написал другую, которая закрашивает прямоугольник заданным цветом. |
18.11.2011, 05:53 | #7 |
Форумчанин
Регистрация: 10.01.2011
Сообщений: 243
|
Если кому-нибудь понадобится, то здесь ест готовый код.И еще библиотеки для работы с мышкой. Если понадобится посмотреть код добавьте mouse.pas, mouse.tpu в папку BIN.
Если будут вопросы обращайтесь.) Игра называется MyLines. |
18.11.2011, 10:43 | #8 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
То что вы называете курсором есть часть изображения (иазовем это изображением курсора). Если вы его рисуете то у вас есть его координаты (можете их где-то хранить). Если есть его координаты (даже если это просто набор точек),то Вы всегда можете исключить заливку для этих "курcорных" координат. И кто мешает рисовать этот курсор контрастным цветом, препятствующим переходу заливки, если уж у вас обработка привязана к визуальному виду, а не к внутреннему состоянию. На картинке которую вы модифицируете НЕ ДОЛЖНО БЫТЬ НАРИСОВАННОГО ВАМИ ЖЕ КУРСОРА. В программе есть только координаты его положения на картинке.
программа — запись алгоритма на языке понятном транслятору
|
|
26.11.2011, 16:19 | #9 |
Форумчанин
Регистрация: 10.01.2011
Сообщений: 243
|
Начнем с того, что я не рисую курсор, я его один раз инициализирую, после чего вызываю функцию ShowMouse и изображение курсора появляется.Каким образом я могу исключить заливку курсорных координат, пользуясь функцией floodfill?
Картинку я модифицирую не один раз, я это делаю постоянно. И убрать курсор от туда я не могу. В игре нажимаешь на квадрат, а программа убирает мышку от туда? Так что-ли? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Получить границы диапазона через InputBox | kipish_lp | Microsoft Office Excel | 4 | 18.08.2010 14:14 |
Как Переход в ячейку через двойное условие? | Talisman | Microsoft Office Excel | 11 | 21.11.2009 15:32 |
уберите курсор (в конце программы верните курсор), | HECTOR.A. | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 05.06.2009 20:10 |
Границы DIV | Ururu | HTML и CSS | 5 | 27.04.2009 01:44 |
Границы ячеек | AnnNet | Microsoft Office Excel | 4 | 20.02.2009 12:19 |