![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Apr 2002
Адрес: Украина, Киев
Сообщений: 349
|
Всем привет, после долгого перерыва у меня вопрос:
как сделать программно движение плавающее, например, чтобы кнопка плавала случайным образом... типа onClipEvent (enterFrame) { xend = random(3); if (_x>-10) { _x+=xend; } else if (_x>10) { _x--; } yend = random(3); if (_y>-10) { _y++; } else if (_y>10) { _y-=yend; } } только оно у меня почему-то не работает.... ![]() Хелп
__________________
Пусть всегда светит солнце... миру мир и всякая такая фигня :) |
|
|||||
|
Регистрация: Nov 2001
Адрес: Moscow
Сообщений: 218
|
Посмотри трейсом. У тебя всегда наращивается _x и никогда не перейдет на else. Думай
![]()
__________________
Спасатели, вперед!!!!!! Нет безвыходных ситуаций, есть ситуации из которых ТЫ не знаешь как найти выход. Искренне рад помочь!:rolleyes: |
|
|||||
|
Регистрация: Apr 2002
Адрес: Украина, Киев
Сообщений: 349
|
там ошибка, но она е меняет дела....
onClipEvent (enterFrame) { xend = random(3); if (_x>-10) { _x+=xend; } else if (_x>10) { _x-=xend; } yend = random(3); if (_y>-10) { _y+=xend; } else if (_y>10) { _y-=yend; } } оно же должно двигаться только при условии что x>-10 а если он не больше, то по идее двигаться не должно я пробовал с do {_x+=xend; } while(_x<-10) говорит, что скрипт приведет к большой затрате ресурсов и предлагает абортнуть выполнение
__________________
Пусть всегда светит солнце... миру мир и всякая такая фигня :) |
|
|||||
|
Регистрация: Nov 2001
Адрес: Moscow
Сообщений: 218
|
Правильно говорит. Этого делать не стоит.
Вопрос: тебе нужно плавающее движение или неподвижный клип? Вариант решения. ![]() Создай лог. переменную и проверяй ее значение. Если ложь наращивай (уменьшай) х или y, если значение х или y превысило (или снизилось) определенного значения - лог. переменная меняет значение на истину. Подумай. ps Смотри-ка, у нас с тобой количество сообщений одинаково!
__________________
Спасатели, вперед!!!!!! Нет безвыходных ситуаций, есть ситуации из которых ТЫ не знаешь как найти выход. Искренне рад помочь!:rolleyes: Последний раз редактировалось voro_bej; 14.05.2003 в 10:52. |
|
|||||
|
"человек"
Регистрация: Nov 2002
Адрес: +-
Сообщений: 1,807
|
плавало? это как?
вот так пойдёт: ![]()
__________________
flash it |
|
|||||
|
Регистрация: Apr 2002
Адрес: Украина, Киев
Сообщений: 349
|
что-то типа этого?? %))))
onClipEvent (enterFrame) { r = Math.random(); if (flag == 0) { _x += r; } else { _x -= r; } if (_x>2) { flag = 1; } else if (_x<-1) { flag = 0; } if (flagy == 0) { _y += r; } else { _y -= r; } if (_y>122) { flagy = 1; } else if (_y<121) { flagy = 0; } } onClipEvent (load) { flag = 0; flagy = 0; } как раз то, что надо ![]() Спасибо, что заставил думать, хотя я и злился сначала PS: А сообщений действительно одинаковое кол-во )
__________________
Пусть всегда светит солнце... миру мир и всякая такая фигня :) |
|
|||||
|
Регистрация: Apr 2002
Адрес: Украина, Киев
Сообщений: 349
|
2Techmaker: sorry не увидел твой файл сначала, да, именно так только не так широко, а в пределах 1-2 пикселов...
но кажется мой код тоже катит Спасибо всем ![]()
__________________
Пусть всегда светит солнце... миру мир и всякая такая фигня :) |
|
|||||
|
Регистрация: Nov 2001
Адрес: Moscow
Сообщений: 218
|
Спасибо что понял меня, а то действительно некоторые обижаются. Я же как лучше хочу, чтоб человек не просто списал исходник, а сам дошел до ответа.
Вот тебе мой вариант: onClipEvent (enterFrame) { r = Math.random(); if (!flag1) { _x+=r; if (_x>-2) {flag1=true} } else { _x--; if (_x<-1) {flag1=false} } if (!flag2) { _y++; if (_y>122) {flag2=true} } else { _y-=r; if (_y<121) {flag2=false} } } почти одно и тоже. ![]()
__________________
Спасатели, вперед!!!!!! Нет безвыходных ситуаций, есть ситуации из которых ТЫ не знаешь как найти выход. Искренне рад помочь!:rolleyes: |
|
|||||
|
Регистрация: Apr 2002
Адрес: Украина, Киев
Сообщений: 349
|
Да
), а то я уж думал мои гуманитарные мозги не способны справляться с иксами и игреками Еще один вопрос: вот все это движение было с movie clip, таким же образом мы можем, например, запихнув в клип прямую, изменять ее длину и угол наклона, а есть ли программное движение для кривых? Т.е. например я рисую кривую ну, например, в форме буквы с, а потом хочу ее плавно выровнять в прямую... если это делать не программно, то я просто делаю в таймлайне два кадра, в одном "с" в конечном прямая, а выделив выбираю "shape" в "Propertiеs"... а можно ли такое же сделать в одном ключевом кадре, т.е. программно... Просто у меня та кнопка, которая плавает соединена с главным меню прямой, и сейчас получается, что плавает только кнопка, а прямая не изменяется... я сделал ее в мувик и теперь она у меня поворачивается и укорачивается в зависимости от положения кнопка, но это неестесственно, а я хотел бы ее изгибать, когда кнопка движется по направлению к главному меню, навстречу этой кривой.... ой..... вроде так ))
__________________
Пусть всегда светит солнце... миру мир и всякая такая фигня :) |
|
|||||
|
Регистрация: Apr 2002
Адрес: Украина, Киев
Сообщений: 349
|
не то чтобы я нудил..... но неужели никто не ответит на столь интригующий меня вопрос??
))
__________________
Пусть всегда светит солнце... миру мир и всякая такая фигня :) |
![]() |
Часовой пояс GMT +4, время: 09:12. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|