![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2006
Сообщений: 25
|
Здраствуйте уважаемые посетители форума. У меня к вам вопрос, но для ясности сначало обрисую общую картину.
Я делаю игру где есть рокета которая летает, соответственно должны быть и препядствия, максимум что у меня получилось сделать это отскакивание под правильным углом от плоской стенки: onClipEvent (enterFrame) {
if ((this.hitTest(_root.rocket._x, _root.rocket._y+_root.rocket._height/2, true)) or (this.hitTest(_root.rocket._x, _root.rocket._y-_root.rocket._height/2, true)) or (this.hitTest(_root.rocket._x-_root.rocket._width/2, _root.rocket._y, true)) or (this.hitTest(_root.rocket._x+_root.rocket._width/2, _root.rocket._y, true))) {
_root.rocket.dY = Math.abs(_root.rocket.dY)*_root.rocket.sopr;
_root.rocket.dX = _root.rocket.dX*_root.rocket.sopr;
udar = _root.rocket.dY*5+_root.rocket.dX*5*-1;
if (udar<10) {
udar = 0;
}
_root.rocket.health -= udar;
}
}
Последний раз редактировалось haetorigam#; 22.04.2006 в 05:38. |
|
|||||
|
Регистрация: Jan 2006
Сообщений: 43
|
А я делаю не так...вот так: если хиттест то скорость=скорость-2*скорость. Значение скорости меняется на отрицательное.Получается что обьект отскакивает. А вот насчет кривых не знаю, не использовал.
|
|
|||||
|
Во-первых: пользуйся тегом код а то ваше неудобно читать
Во-вторых: если у тебя будет много обьектов об которые должна ударятся твоя ракета то тормоза начнутся дикие если все хиттестит И на последок: если уж на хиттестах тогда для отскакивания от всех сторон тебе поможет getBounds() но добится реалистики удара таким макаром тебе будет сложно ибо не забывай то бывают ситуаци когда от стенки ракета ударяется об другую стенку.. и тут уже без векторов не обойтись...а еще можеш читнуть вот эту статью http://www.harveycartel.org/metanet/...tutorialA.html |
|
|||||
|
Регистрация: Jan 2006
Сообщений: 43
|
Цитата:
|
|
|||||
|
Регистрация: Jan 2006
Сообщений: 25
|
Цитата:
Цитата:
|
|
|||||
|
Регистрация: Jan 2006
Сообщений: 43
|
Цитата:
|
|
|||||
|
Посмотрел.... не огу понять зачем ты прототайпиш Нумбер всередине онЕнтерФрейм ???
И код можно было написать раз в 5 короче ![]() |
|
|||||
|
Регистрация: Jan 2006
Сообщений: 43
|
да знаю, там половина - лишнее, просто руки не дошли убрать, это я делал когда надо было притяжение реалистичное сделать
а нумбер для округленя значений, во избежание багов, только сам не пойму зачем он там 10 разз.... Вопрос: А как без хиттестов та обойтись?Последний раз редактировалось ApTypbIч; 31.01.2006 в 15:25. |
|
|||||
|
Я же кинул ссылку на дельную статью... там подробно описано
*смотри выше*
__________________
noubase.com |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:01. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|