Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
Управление движением объекта в NeoBook
anton68Дата: Вт, 08 Марта 2011, 07:17 | Сообщение # 1
Любопытный
Написал скрипт посредством которого определенный объект движется сам вверх к заданной координате. При нажатии на ЛКМ движение объекта замедляется, а при нажатии ПКМ объект начинает двигаться к другой заданной координате.

Я вообщем то не программист, мое кредо дизайн, но даже я вижу что скрипт извращенский, подскажите альтернативу сему действию...

Для работы примера требуется плагин zmFunction

Code

.начинаю слежение за кнопками мыши
zmSetMouseMonitor "Local" "" "False"
.присваиваю значение переменной для начала цикла
SetVar "[w]" "start"
.запускаю цикл
While "[w]" "=" "start"
.проверяю чему равна переменная для остановки цикла
If "[w]" "=" "stop"
ExitWhile
EndIf
.вычисляю координаты место расположения объекта движения
GetObjectInfo "Polygon4" "Top" "[popY]"
GetObjectInfo "Polygon4" "Left" "[popX]"
.если объект находиться в нижней части экрана присваиваю переменной цикла значение стоп
If "[popY]" ">" "440"
SetVar "[w]" "stop"
endif
.начинаю движение объекта
ifEx "[zmMouseCode]<>zmRBD and [zmMouseCode]<>zmLBD"
StopMovingObject ""
MoveObjectAlongPath "Polygon4" "387,92" "50" "Normal+Center" ""
else
.если нажата правая кнопка мыши пермещаю объект вниз
ifEx "[zmMouseCode]=zmRBD"
StopMovingObject ""
MoveObjectAlongPath "Polygon4" "[popX],550" "10" "Normal+Center" ""
else
.если нажата левая кнопка мыши замедляю движение объекта
ifEx "[zmMouseCode]=zmLBD"
StopMovingObject ""
MoveObjectAlongPath "Polygon4" "387,92" "500" "Normal+Center" ""
Delay "500"
else
endif
endif
endif
.повторяю цикл.
EndWhile
Прикрепления: upr_dvig.rar (2.1 Kb)


Сообщение отредактировано
anton68 - Вт, 08 Марта 2011, 07:19
 
СообщениеНаписал скрипт посредством которого определенный объект движется сам вверх к заданной координате. При нажатии на ЛКМ движение объекта замедляется, а при нажатии ПКМ объект начинает двигаться к другой заданной координате.

Я вообщем то не программист, мое кредо дизайн, но даже я вижу что скрипт извращенский, подскажите альтернативу сему действию...

Для работы примера требуется плагин zmFunction

Code

.начинаю слежение за кнопками мыши
zmSetMouseMonitor "Local" "" "False"
.присваиваю значение переменной для начала цикла
SetVar "[w]" "start"
.запускаю цикл
While "[w]" "=" "start"
.проверяю чему равна переменная для остановки цикла
If "[w]" "=" "stop"
ExitWhile
EndIf
.вычисляю координаты место расположения объекта движения
GetObjectInfo "Polygon4" "Top" "[popY]"
GetObjectInfo "Polygon4" "Left" "[popX]"
.если объект находиться в нижней части экрана присваиваю переменной цикла значение стоп
If "[popY]" ">" "440"
SetVar "[w]" "stop"
endif
.начинаю движение объекта
ifEx "[zmMouseCode]<>zmRBD and [zmMouseCode]<>zmLBD"
StopMovingObject ""
MoveObjectAlongPath "Polygon4" "387,92" "50" "Normal+Center" ""
else
.если нажата правая кнопка мыши пермещаю объект вниз
ifEx "[zmMouseCode]=zmRBD"
StopMovingObject ""
MoveObjectAlongPath "Polygon4" "[popX],550" "10" "Normal+Center" ""
else
.если нажата левая кнопка мыши замедляю движение объекта
ifEx "[zmMouseCode]=zmLBD"
StopMovingObject ""
MoveObjectAlongPath "Polygon4" "387,92" "500" "Normal+Center" ""
Delay "500"
else
endif
endif
endif
.повторяю цикл.
EndWhile

Автор - anton68
Дата добавления - 08 Марта 2011 в 07:17
СергейДата: Вт, 08 Марта 2011, 12:17 | Сообщение # 2
Необукер
Quote (anton68)
подскажите альтернативу сему действию
Тут нужно время, которого, к сожалению нет. Да и конечную цель тоже, как бы необходимо знать, я до сих пор не понял, что должно произойти в конечном...
В выше изложенном примере бросилось в глаза лишняя строчка
Quote
.проверяю чему равна переменная для остановки цикла
If "[w]" "=" "stop"
ExitWhile
EndIf

Ее можно убрать, т.к. цикл и так не будет работать, если переменная поменяла значение.

Добавлено (08 Март 2011, 12:17)
---------------------------------------------
вот ошибка в коде

Quote
StopMovingObject ""
неуказан объект...
Незнаю, как там в примере, но если есть и там, то надо исправить и перезалить пример


Сообщение отредактировано
Сергей - Вт, 08 Марта 2011, 12:20
 
Сообщение
Quote (anton68)
подскажите альтернативу сему действию
Тут нужно время, которого, к сожалению нет. Да и конечную цель тоже, как бы необходимо знать, я до сих пор не понял, что должно произойти в конечном...
В выше изложенном примере бросилось в глаза лишняя строчка
Quote
.проверяю чему равна переменная для остановки цикла
If "[w]" "=" "stop"
ExitWhile
EndIf

Ее можно убрать, т.к. цикл и так не будет работать, если переменная поменяла значение.

Добавлено (08 Март 2011, 12:17)
---------------------------------------------
вот ошибка в коде

Quote
StopMovingObject ""
неуказан объект...
Незнаю, как там в примере, но если есть и там, то надо исправить и перезалить пример

Автор - Сергей
Дата добавления - 08 Марта 2011 в 12:17
anton68Дата: Ср, 09 Марта 2011, 09:07 | Сообщение # 3
Любопытный
Quote
Да и конечную цель тоже, как бы необходимо знать, я до сих пор не понял, что должно произойти в конечном...

В конечном итоге по завершению действия, т.е. после того как цикл прекратит работу, и объект окажется внизу экрана, должен выполняться другой скрипт идущей ниже данного цикла. В моем случае это будит диалог-окно о виде пойманной рыбы.

Quote
Ее можно убрать, т.к. цикл и так не будет работать, если переменная поменяла значение.

Спасибо, я подумывал об этом, просто не знал насколько правильно цикл будит работать без команды ExitWhile

Quote
вот ошибка в коде
Quote
Цитата
StopMovingObject ""

неуказан объект...

А мне и не требуеться в нем указывать объект, не указывая объект я торможу все запущенные движения которые у меня существует, просто опытным путем выяснилось, что при указании непосредственного объекта имеется небольшая, и периодически хаотически задержка даижения, рывки... а без указание, срабатывание идет более-менее ровно. Мне по большому счету сама команда не нравиться останавливающая движения, но при ее отсутствии не хочет адекватно работать команда иф, определения какая клавиша нажата, пока движение объекта не пройдет до конца, хоть какую кнопку нажимай новый вид движения не начнеться.

Чтобы хоть чуть чуть яснее стало чего я добиваюсь, выкладываю сырец скомпилированного проекта.

http://files.mail.ru/B12WQ8

ЛКМ - заброс,подсечка, торможение движения рыбы
ПКМ - подтягивание рыбы к берегу

 
Сообщение
Quote
Да и конечную цель тоже, как бы необходимо знать, я до сих пор не понял, что должно произойти в конечном...

В конечном итоге по завершению действия, т.е. после того как цикл прекратит работу, и объект окажется внизу экрана, должен выполняться другой скрипт идущей ниже данного цикла. В моем случае это будит диалог-окно о виде пойманной рыбы.

Quote
Ее можно убрать, т.к. цикл и так не будет работать, если переменная поменяла значение.

Спасибо, я подумывал об этом, просто не знал насколько правильно цикл будит работать без команды ExitWhile

Quote
вот ошибка в коде
Quote
Цитата
StopMovingObject ""

неуказан объект...

А мне и не требуеться в нем указывать объект, не указывая объект я торможу все запущенные движения которые у меня существует, просто опытным путем выяснилось, что при указании непосредственного объекта имеется небольшая, и периодически хаотически задержка даижения, рывки... а без указание, срабатывание идет более-менее ровно. Мне по большому счету сама команда не нравиться останавливающая движения, но при ее отсутствии не хочет адекватно работать команда иф, определения какая клавиша нажата, пока движение объекта не пройдет до конца, хоть какую кнопку нажимай новый вид движения не начнеться.

Чтобы хоть чуть чуть яснее стало чего я добиваюсь, выкладываю сырец скомпилированного проекта.

http://files.mail.ru/B12WQ8

ЛКМ - заброс,подсечка, торможение движения рыбы
ПКМ - подтягивание рыбы к берегу


Автор - anton68
Дата добавления - 09 Марта 2011 в 09:07
СергейДата: Ср, 09 Марта 2011, 11:29 | Сообщение # 4
Необукер
прикольно.
я осетра поймал :D
надо обязательно поставить рядо ведро, чтоб наполнялось рыбами, и стопочку, чтоб тоже наполнялась(сложность уровня :D )
 
Сообщениеприкольно.
я осетра поймал :D
надо обязательно поставить рядо ведро, чтоб наполнялось рыбами, и стопочку, чтоб тоже наполнялась(сложность уровня :D )

Автор - Сергей
Дата добавления - 09 Марта 2011 в 11:29
anton68Дата: Ср, 09 Марта 2011, 11:42 | Сообщение # 5
Любопытный
Quote
прикольно.
я осетра поймал
надо обязательно поставить рядо ведро, чтоб наполнялось рыбами, и стопочку, чтоб тоже наполнялась(сложность уровня )

Да это все будит с реализацией этих элементов ни каких проблем нет, потому ими пока и не занимаюсь, основная проблема для меня это хаотичное движение рыбы после подсечки по пруду к противоположному берегу, и скрипт вываживания. То что сейчас используется для скрипта вываживания рыбы, это максимум упрощенный вариант который еще править и править и править. Плюс у меня реализован пока только один вариант поклевки а я хочу реализовать их минимум 10 в идеале для каждого подвида рыб свой и т.д. много всего того с чем я уверен проблем не будит.... :)

 
Сообщение
Quote
прикольно.
я осетра поймал
надо обязательно поставить рядо ведро, чтоб наполнялось рыбами, и стопочку, чтоб тоже наполнялась(сложность уровня )

Да это все будит с реализацией этих элементов ни каких проблем нет, потому ими пока и не занимаюсь, основная проблема для меня это хаотичное движение рыбы после подсечки по пруду к противоположному берегу, и скрипт вываживания. То что сейчас используется для скрипта вываживания рыбы, это максимум упрощенный вариант который еще править и править и править. Плюс у меня реализован пока только один вариант поклевки а я хочу реализовать их минимум 10 в идеале для каждого подвида рыб свой и т.д. много всего того с чем я уверен проблем не будит.... :)


Автор - anton68
Дата добавления - 09 Марта 2011 в 11:42
  • Страница 1 из 1
  • 1
Поиск: