Выстрел из рогатки
|
|
Fenrire | Дата: Воскресенье, 20 Ноября 2011, 18:46 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| Всем привет! Как-то давно делал игру клон ангри бердс, и еще тогда столкнулся с этой проблемой. Пришлось переделывать геймплей и использовать другие способы запуска снаряда) Сейчас вот опять делаю похожую по геймплею игрушку, но на это раз хочу все-таки изучить подробнее этот вопрос.
Собственно, в чем сложность основная - эффект растягивающейся резинки при подготовке снаряда к выстрелу. 1 - кликаем по снаряду. 2 - таскаем его по сценке. 3 - снаряд не выходит за пределы максимального натяжения резинки. 4 - показать эти резинки)) 5 - выстрел.
вот такой примитивненький недо алгоритм) Споткнулся я об пункт 4.
У меня есть 2 идеи касательно отображения резинок: 1 - рисовать на сцене от точки а, до снаряда. 2 - добавляю два мувиклипа, вращаю их как надо (собственно до сюда тоже все есть) и наконец - скейлю по оси Х, дабы показать как они растягиваются.
Вот с последним никак не могу подобрать формулу. Может быть у вас будут какие идеи по этому поводу? Заранее благодарен.
|
|
| |
|
Fenrire | Дата: Воскресенье, 20 Ноября 2011, 19:02 | Сообщение # 3 |
почетный гость
Сейчас нет на сайте
| Феронато я прочитал в первую очередь, как только появились эти уроки)) Собственно, все, что у него описано, я делал уже до этого, правда чуть кривей)
Вопрос, и собственно вся сложность, упирается именно в резинку этой рогатки.
|
|
| |
noTformaT | Дата: Воскресенье, 20 Ноября 2011, 19:03 | Сообщение # 4 |
Ukrainian independent game developer
Сейчас нет на сайте
| Quote (Fenrire) наконец - скейлю по оси Х, дабы показать как они растягиваются.
Вот с последним никак не могу подобрать формулу. Может быть у вас будут какие идеи по этому поводу? ааа, ну тогда. Рисуешь клип веревки, примерно в 40px. Далее scaleX = расстояние от курсора до мыши / 40.
Пример, если расстояние 80, то скейл будет 2.
@noTformaT
|
|
| |
Fenrire | Дата: Воскресенье, 20 Ноября 2011, 19:11 | Сообщение # 5 |
почетный гость
Сейчас нет на сайте
| Quote (noTformaT) расстояние от курсора до мыши
эмм, это как?)
если я правильно понял так примерно?
Code var distanceX:Number = mouseX - резинка.x; var distanceY:Number = mouseY - резинка.y;
резинка.scaleX = (distanceX+distanceY) / 40;
так чтоль?
Сообщение отредактировал Fenrire - Воскресенье, 20 Ноября 2011, 19:13 |
|
| |
noTformaT | Дата: Воскресенье, 20 Ноября 2011, 19:30 | Сообщение # 6 |
Ukrainian independent game developer
Сейчас нет на сайте
| Fenrire,
var dx:Number = mouseX - резинка.x; //расстояние по оси х var dx:Number = mouseY - резинка.y; //расстояние по оси у var dist:Number = Marh.sqrt(dx* dx + dy * dy); //расстояние от курсора до резинки
резинка.scaleX = dist / 40;
@noTformaT
|
|
| |
Fenrire | Дата: Воскресенье, 20 Ноября 2011, 19:43 | Сообщение # 7 |
почетный гость
Сейчас нет на сайте
| Во, так на самом деле лучше, а то я уже условия начал описывать)
Сообщение отредактировал Fenrire - Воскресенье, 20 Ноября 2011, 19:44 |
|
| |