Понедельник, 25 Ноября 2024, 09:30

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Выстрел из рогатки
FenrireДата: Воскресенье, 20 Ноября 2011, 18:46 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Всем привет!
Как-то давно делал игру клон ангри бердс, и еще тогда столкнулся с этой проблемой.
Пришлось переделывать геймплей и использовать другие способы запуска снаряда)
Сейчас вот опять делаю похожую по геймплею игрушку, но на это раз хочу все-таки изучить подробнее этот вопрос.

Собственно, в чем сложность основная - эффект растягивающейся резинки при подготовке снаряда к выстрелу.
1 - кликаем по снаряду.
2 - таскаем его по сценке.
3 - снаряд не выходит за пределы максимального натяжения резинки.
4 - показать эти резинки))
5 - выстрел.

вот такой примитивненький недо алгоритм)
Споткнулся я об пункт 4.

У меня есть 2 идеи касательно отображения резинок:
1 - рисовать на сцене от точки а, до снаряда.
2 - добавляю два мувиклипа, вращаю их как надо (собственно до сюда тоже все есть) и наконец - скейлю по оси Х, дабы показать как они растягиваются.

Вот с последним никак не могу подобрать формулу. Может быть у вас будут какие идеи по этому поводу?
Заранее благодарен.
noTformaTДата: Воскресенье, 20 Ноября 2011, 18:58 | Сообщение # 2
Ukrainian independent game developer
Сейчас нет на сайте
Fenrire,
Develop a Flash game like Angry Birds using Box2D
Develop a Flash game like Angry Birds using Box2D – Killing the pigs
Develop a Flash game like Angry Birds using Box2D – Following bird with the camera and skinning crates
Develop a Flash game like Angry Birds using Box2D – predictive trajectory line
В первой статье есть код как сделать рогатку, все остальные - физика и всякое такое smile


@noTformaT
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
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг