Движущаяся полоса
|
|
makso134 | Дата: Среда, 08 Апреля 2015, 18:21 | Сообщение # 1 |
участник
Сейчас нет на сайте
| Подскажите как сделать полоску, ширина которой изначально равна 0рх, при старте она начинает плавно и без рывков увеличивать длину до к примеру 500рх, если жмем ЛКМ во время увеличения длины, то длина сбрасывается сразу до 0рх и опять начинает увеличиваться до 500рх, а если ПКМ сбрасывается плавно до 0рх. И в догоночку подскажите, как сделать какое либо действие при достижении определенной длинны полосы, к примеру на 15рх создать объект, а на 150рх удалить его и тп. Заранее благодарю откликнувшимся Вот видео нечто подобного. Сама полоса интересует со всеми вытекающими, не более.
|
|
| |
YellowAfterlife | Дата: Среда, 08 Апреля 2015, 18:30 | Сообщение # 2 |
Сейчас нет на сайте
| По вкусу - можно или "Tiled Background" (замощенный фон) использовать, или "9-slice" (если нужны красивые края; только в Construct 2 вроде бы) - для обоих из них можно менять размер через "Size & Position - Set width".
|
|
| |
makso134 | Дата: Среда, 08 Апреля 2015, 18:42 | Сообщение # 3 |
участник
Сейчас нет на сайте
| Цитата makso134 ( ) По вкусу - можно или "Tiled Background" (замощенный фон) использовать, или "9-slice" (если нужны красивые края; только в Construct 2 вроде бы) - для обоих из них можно менять размер через "Size & Position - Set width". Обо все этом я знаю, не так поняли меня, интересует механика как на видео, но с некими поправками которые я описал, и кстати не 9-slice, а 9-patch правильно, можно и с ним, без разницы, главное механика полосы, увеличение длинны, возврат, действие при достижении определенной длины и тп. А так спасибо за отзывчивость надеюсь кто то поможет Ах да, как еще сделать допустим при нажатии пробела скорость увеличивалась в двое. Очень поможите
Сообщение отредактировал makso134 - Среда, 08 Апреля 2015, 18:46 |
|
| |
Anthem | Дата: Четверг, 09 Апреля 2015, 10:11 | Сообщение # 4 |
Д'Артаньян
Сейчас нет на сайте
| makso134, что сложного-то? Пишешь, чтобы каждую секунду, т.е. 1000 мс, длина спрайта увеличивалась на нужное тебе кол-во пикселей. При нажатии ЛКМ делаем длину равную 0, при нажатии ПКМ уменьшается каждую секунду на заданное кол-во пикселей. если длина превышает 500 пикселей, сделать ее равной 500. При такой-то длине такое-то событие и т.п. Все элементарно
Текстовый контент для вашей игры (бесплатно) Сценарист, геймдизайнер для Вашей игры
|
|
| |
makso134 | Дата: Четверг, 09 Апреля 2015, 14:35 | Сообщение # 5 |
участник
Сейчас нет на сайте
| Цитата Anthem ( ) makso134, что сложного-то? Пишешь, чтобы каждую секунду, т.е. 1000 мс, длина спрайта увеличивалась на нужное тебе кол-во пикселей. При нажатии ЛКМ делаем длину равную 0, при нажатии ПКМ уменьшается каждую секунду на заданное кол-во пикселей. если длина превышает 500 пикселей, сделать ее равной 500. При такой-то длине такое-то событие и т.п. Все элементарно Я вот не пойму как скоростью управлять, если каждую секунду, 2, 3 или 5 и тд то она движется рывками, а мне нужно чтобы она плавно заполнялась и я мог при определенном событии удвоить скорость, или чуток замедлить, но повторюсь чтобы все шло плавно не зависимо от скорости, объясните пожалуйста, направьте на путь истинный)))
|
|
| |
Lasmelan | Дата: Четверг, 09 Апреля 2015, 15:58 | Сообщение # 6 |
Construct 2 & Classic
Сейчас нет на сайте
| makso134, а это разве не элементарно?)) Каждые 100 миллисекунд уменьшай на 0.5, или даже каждые 20 мс уменьшай на 0.1 Что сложного?
Мое портфолио:
|
|
| |
makso134 | Дата: Четверг, 09 Апреля 2015, 18:15 | Сообщение # 7 |
участник
Сейчас нет на сайте
| Да я понимаю что можно так делать, где вы там плавность увидели? Мне нужно чтобы допустим за 1.5 секунды полоска "плавно", а не рывками добежала до 500 пикселей. Представьте себе спидометр который не круговой, а полосный, там ведь полоска от нажатия быстро долетает до нужного места, а не рывками попиксельно. Накидайте исходник если я что то не так понимаю...
|
|
| |
Lasmelan | Дата: Четверг, 09 Апреля 2015, 19:16 | Сообщение # 8 |
Construct 2 & Classic
Сейчас нет на сайте
| makso134, вы действительно что-то не понимаете. Плавно - это и есть небольшое попиксельное изменение. Вы сами отрегулируйте, на сколько пикселей изменять за какой промежуток времени.
Мое портфолио:
|
|
| |
IvanKorobko | Дата: Пятница, 10 Апреля 2015, 07:46 | Сообщение # 9 |
IK Studio
Сейчас нет на сайте
| Цитата makso134 ( ) за 1.5 секунды полоска "плавно", а не рывками добежала до 500 пикселей.
Делим 1500 миллисекунд на 500 пикселей, получаем: каждые 0.003секунды увеличиваем полоску на 1 пиксель...
|
|
| |
Nick_Rimer | Дата: Пятница, 10 Апреля 2015, 22:38 | Сообщение # 10 |
заслуженный участник
Сейчас нет на сайте
| IvanKorobko, не великоват ли пиджачок? в смысле, больно уж дофига вычислений, мне кажется.. такая нагрузка, да не на каждую на мобилу, имхо
- Доброе утро, Агент Пи!
|
|
| |
cnstntn | Дата: Суббота, 11 Апреля 2015, 20:23 | Сообщение # 11 |
заслуженный участник
Сейчас нет на сайте
| Nick_Rimer, все правильно Иван сказал. А как иначе? Хотя по сути за полторы секунды особой плавности не заметишь...
|
|
| |
Nick_Rimer | Дата: Суббота, 11 Апреля 2015, 20:25 | Сообщение # 12 |
заслуженный участник
Сейчас нет на сайте
| cnstntn, я скорее сказал бы, что не обязательно увеличивать на 1 пиксель.. это, конечно, супер-плавно, но можно попробовать прибавлять и чуть побольше, человек может не заметить разницы, а устройство одобрит!
- Доброе утро, Агент Пи!
|
|
| |
IvanKorobko | Дата: Суббота, 11 Апреля 2015, 21:34 | Сообщение # 13 |
IK Studio
Сейчас нет на сайте
| Не, ну у автора возник математический вопрос, на который я дал ответ... а по хорошему - минимальный тик в с2, если мне память не изменяет, длится 0.016 секунд - так что 0.003 это чистая теоретика и недосягаемая идеалистика...
|
|
| |