Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Написал скрипт посредством которого определенный объект движется сам вверх к заданной координате. При нажатии на ЛКМ движение объекта замедляется, а при нажатии ПКМ объект начинает двигаться к другой заданной координате.
Я вообщем то не программист, мое кредо дизайн, но даже я вижу что скрипт извращенский, подскажите альтернативу сему действию...
Для работы примера требуется плагин 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
Тут нужно время, которого, к сожалению нет. Да и конечную цель тоже, как бы необходимо знать, я до сих пор не понял, что должно произойти в конечном... В выше изложенном примере бросилось в глаза лишняя строчка
Quote
.проверяю чему равна переменная для остановки цикла If "[w]" "=" "stop" ExitWhile EndIf
Ее можно убрать, т.к. цикл и так не будет работать, если переменная поменяла значение.
Добавлено (08 Март 2011, 12:17) --------------------------------------------- вот ошибка в коде
Quote
StopMovingObject ""
неуказан объект... Незнаю, как там в примере, но если есть и там, то надо исправить и перезалить пример
Сообщение отредактировано Сергей - Вт, 08 Марта 2011, 12:20
Да и конечную цель тоже, как бы необходимо знать, я до сих пор не понял, что должно произойти в конечном...
В конечном итоге по завершению действия, т.е. после того как цикл прекратит работу, и объект окажется внизу экрана, должен выполняться другой скрипт идущей ниже данного цикла. В моем случае это будит диалог-окно о виде пойманной рыбы.
Quote
Ее можно убрать, т.к. цикл и так не будет работать, если переменная поменяла значение.
Спасибо, я подумывал об этом, просто не знал насколько правильно цикл будит работать без команды ExitWhile
Quote
вот ошибка в коде
Quote
Цитата StopMovingObject ""
неуказан объект...
А мне и не требуеться в нем указывать объект, не указывая объект я торможу все запущенные движения которые у меня существует, просто опытным путем выяснилось, что при указании непосредственного объекта имеется небольшая, и периодически хаотически задержка даижения, рывки... а без указание, срабатывание идет более-менее ровно. Мне по большому счету сама команда не нравиться останавливающая движения, но при ее отсутствии не хочет адекватно работать команда иф, определения какая клавиша нажата, пока движение объекта не пройдет до конца, хоть какую кнопку нажимай новый вид движения не начнеться.
Чтобы хоть чуть чуть яснее стало чего я добиваюсь, выкладываю сырец скомпилированного проекта.
http://files.mail.ru/B12WQ8
ЛКМ - заброс,подсечка, торможение движения рыбы ПКМ - подтягивание рыбы к берегу
прикольно. я осетра поймал надо обязательно поставить рядо ведро, чтоб наполнялось рыбами, и стопочку, чтоб тоже наполнялась(сложность уровня )
Да это все будит с реализацией этих элементов ни каких проблем нет, потому ими пока и не занимаюсь, основная проблема для меня это хаотичное движение рыбы после подсечки по пруду к противоположному берегу, и скрипт вываживания. То что сейчас используется для скрипта вываживания рыбы, это максимум упрощенный вариант который еще править и править и править. Плюс у меня реализован пока только один вариант поклевки а я хочу реализовать их минимум 10 в идеале для каждого подвида рыб свой и т.д. много всего того с чем я уверен проблем не будит....