Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL  
Привязка объекта к курсору
СергейДата: Вт, 25 Августа 2009, 10:48 | Сообщение # 1
Необукер
Решил написать мини урок
Если Вам надо сделать привязку обекта к координатам курсора мыши
Открываем новый проект
1)создаем объект например "Rectangle(Прямоугольник)" с размерами 30х30
2)создаем объект "Timer1(Таймер)", в свойствах указываем следующие параметры:
-ставим опцию "Automatically when page is displayed"(Автоматически со входом на страницу)
-В опции "Timer interval"(Задержка) ставим значение "10"
Далее переходим в "Actions"(Команды)-->Timer interval и пишем следующий код
Code
GetMousePos "[x]" "[y]"           
MoveObject "Rectangle1" "[x]" "[y]"
где командой "GetMousePos" получаем значения координат курсора мыши относительно левого верхнего угла окна проекта. обозначены они переменной "[x]" и "[y]". Командой "MoveObject" изменяем положение объекта на экране
Тестируем, объект движется за курсором
Если вам надо получить событие "клик Мыши" в любой части приложения, то можно сделать следующее
создаем объект PushButton(Кнопка) в Палитре стилей заливку ставим на "Hollow", убираем рамку, если у кнопки вид стиль Windows, то на вкладке "Push Button Properties(Свойства кнопки)-->Appearance(Вид)" убираем галочку с опции Use XP themes(Стиль Windows XP). И в опции "Depress effect(Эффект нажатия)" ставим значение на 0(ноль). Она у нас станет невидимой. На вкладке "Push Button Properties(Свойства кнопки)-->Actions(Команды)" пишем код
Code
AlertBox "Событие" "Произведен клик по координатам: |Х = [x]|Y = [y]"

открываем "Actions"(Команды)-->Timer interval и меняем команду MoveObject:
Code
GetMousePos "[x]" "[y]"
Math "[x]-15" "" "[xM]"
Math "[y]-15" "" "[yM]"
MoveObject "PushButton1" "[xM]" "[yM]"
командой "Math" мы курсор помещаем по цетру кнопки(15-это половина размера кнопки) Тестируем, при клике по любому полю, будет появляться сообщение.
***
Можно, если кому надо, и вид курсора заменить, на свой курсор(*.cur)
Переходим на вкладку "F6-->Общее" в части "курсора" меняем на свой

но это больше подходит к изучению интерфейса, чем к кодингу...
***
в архиве исходник
Прикрепления: kur.rar (1.6 Kb) · 2058461.jpg (72.5 Kb)


Сообщение отредактировано
Сергей - Вт, 23 Августа 2011, 21:17
 
СообщениеРешил написать мини урок
Если Вам надо сделать привязку обекта к координатам курсора мыши
Открываем новый проект
1)создаем объект например "Rectangle(Прямоугольник)" с размерами 30х30
2)создаем объект "Timer1(Таймер)", в свойствах указываем следующие параметры:
-ставим опцию "Automatically when page is displayed"(Автоматически со входом на страницу)
-В опции "Timer interval"(Задержка) ставим значение "10"
Далее переходим в "Actions"(Команды)-->Timer interval и пишем следующий код
Code
GetMousePos "[x]" "[y]"           
MoveObject "Rectangle1" "[x]" "[y]"
где командой "GetMousePos" получаем значения координат курсора мыши относительно левого верхнего угла окна проекта. обозначены они переменной "[x]" и "[y]". Командой "MoveObject" изменяем положение объекта на экране
Тестируем, объект движется за курсором
Если вам надо получить событие "клик Мыши" в любой части приложения, то можно сделать следующее
создаем объект PushButton(Кнопка) в Палитре стилей заливку ставим на "Hollow", убираем рамку, если у кнопки вид стиль Windows, то на вкладке "Push Button Properties(Свойства кнопки)-->Appearance(Вид)" убираем галочку с опции Use XP themes(Стиль Windows XP). И в опции "Depress effect(Эффект нажатия)" ставим значение на 0(ноль). Она у нас станет невидимой. На вкладке "Push Button Properties(Свойства кнопки)-->Actions(Команды)" пишем код
Code
AlertBox "Событие" "Произведен клик по координатам: |Х = [x]|Y = [y]"

открываем "Actions"(Команды)-->Timer interval и меняем команду MoveObject:
Code
GetMousePos "[x]" "[y]"
Math "[x]-15" "" "[xM]"
Math "[y]-15" "" "[yM]"
MoveObject "PushButton1" "[xM]" "[yM]"
командой "Math" мы курсор помещаем по цетру кнопки(15-это половина размера кнопки) Тестируем, при клике по любому полю, будет появляться сообщение.
***
Можно, если кому надо, и вид курсора заменить, на свой курсор(*.cur)
Переходим на вкладку "F6-->Общее" в части "курсора" меняем на свой

но это больше подходит к изучению интерфейса, чем к кодингу...
***
в архиве исходник

Автор - Сергей
Дата добавления - 25 Августа 2009 в 10:48
RezzoxeДата: Вт, 25 Августа 2009, 12:41 | Сообщение # 2
sp3d, извиняюсь конечно но я не понял смысла урока, если это
как ты написал надо для стрелялки, можно же использовать свой прицел с
расширением .cur, в чём проблема? dont_know

p.s. а за таймер респект! thumbs_up

 
Сообщениеsp3d, извиняюсь конечно но я не понял смысла урока, если это
как ты написал надо для стрелялки, можно же использовать свой прицел с
расширением .cur, в чём проблема? dont_know

p.s. а за таймер респект! thumbs_up


Автор - Rezzoxe
Дата добавления - 25 Августа 2009 в 12:41
СергейДата: Вт, 25 Августа 2009, 12:45 | Сообщение # 3
Необукер
Quote (Омар)
проблема?
У меня нет проблем, Я тут показал привязку объекта
к курсору, а прицел это просто повод, можно заменить на другой объект суть то не в этом
 
Сообщение
Quote (Омар)
проблема?
У меня нет проблем, Я тут показал привязку объекта
к курсору, а прицел это просто повод, можно заменить на другой объект суть то не в этом

Автор - Сергей
Дата добавления - 25 Августа 2009 в 12:45
RezzoxeДата: Вт, 25 Августа 2009, 12:49 | Сообщение # 4
Не знаю просто как то не вяжется чтобы прицел и курсор показывались вместе,
выбрал бы для примера тогда подобие магнитизма, например как в пазле, но
это впринципе и готовый пример есть в Необук :)
 
СообщениеНе знаю просто как то не вяжется чтобы прицел и курсор показывались вместе,
выбрал бы для примера тогда подобие магнитизма, например как в пазле, но
это впринципе и готовый пример есть в Необук :)

Автор - Rezzoxe
Дата добавления - 25 Августа 2009 в 12:49
СергейДата: Вт, 25 Августа 2009, 12:54 | Сообщение # 5
Необукер
Омар, Спасибо!
 
СообщениеОмар, Спасибо!

Автор - Сергей
Дата добавления - 25 Августа 2009 в 12:54
skanДата: Вт, 25 Августа 2009, 15:08 | Сообщение # 6
Любопытный
Большое спасибо!!! Именно то, что мне нужно!!!!! Очень благодарен!!!!!!

Школа NeoBook - второе дыхание! Мы открылись, спустя три года, с новыми силами, с новыми знаниями, с новым сайтом!
 
СообщениеБольшое спасибо!!! Именно то, что мне нужно!!!!! Очень благодарен!!!!!!

Автор - skan
Дата добавления - 25 Августа 2009 в 15:08
СергейДата: Вт, 25 Августа 2009, 15:37 | Сообщение # 7
Необукер
Во избежания недорозумений изменил урок
 
СообщениеВо избежания недорозумений изменил урок

Автор - Сергей
Дата добавления - 25 Августа 2009 в 15:37
AlienДата: Ср, 26 Августа 2009, 10:59 | Сообщение # 8
это используется в примере моей игры, только я не про прицел, а про божью коровку.
 
Сообщениеэто используется в примере моей игры, только я не про прицел, а про божью коровку.

Автор - Alien
Дата добавления - 26 Августа 2009 в 10:59
  • Страница 1 из 1
  • 1
Поиск: