PDA

Просмотр полной версии : Помогите с функцией hitTest!


WallX
15.04.2007, 18:45
Привет всем! Хочу написать флеш - игрушку про шарики которые можно пулять из катапульты.
Я щас пишу физику столкновений и у меня проблема.
Использую hitTest.
onClipEvent(enterFrame) {
if (_root[this].hitTest(_root["rstena"]) == true) {
this.sx = this.sx*-1;
}
//изменение координат
this._x = this._x+this.sx;
this._y = this._y-this.sy;
//применение гравитации
this.sy = this.sy-0.5;
}


Помогите! Скажите что ни так в первой части (то что красным)!!
this - это шарик))

iNils
15.04.2007, 18:53
1. Раздел для профессионалов не для таких вопросов.
2. Ознакомтесь с правилами (http://www.flasher.ru/forum/showthread.php?t=79864), а особенно с пункатми 3 и 6.

Chas
15.04.2007, 19:07
нужно просто this.hitTest, что это за _root[this]

Gh >k
15.04.2007, 20:22
а стена так и называется "R"stena?
или это опечатка?

Votan
16.04.2007, 09:08
А если так попробовать?

_root.onEnterFrame=function{
if (obj.hitTest(target)) {
obj.sx *=-1;
}
//изменение координат
obj._x = obj._x+this.sx;
obj._y = obj._y-this.sy;
//применение гравитации
obj.sy = obj.sy-0.5;
}

iNils
16.04.2007, 09:12
Votan, для оформления своего кода, надо использовать теги .

CorC
16.04.2007, 10:02
А если так попробовать?

А вы не хотите попробовать, а не ждать ответа?
Ктомуже исходя из 1 кода здесть надо не this.sx, а obj.sx,
иначе this.sx это рутовая sx, а не объекта.

Fernando Costa
16.04.2007, 18:20
в физике столкновений хит тест не желателен, т.к. могут возникать ситуации не обнаружения коллизий при сильно большой скорости шариков и маленьким фпс

Sp1R1t
17.04.2007, 00:44
а у него стена....она большая.....hitTest можно.....вот с линией нельзя
Fernando Costa, у вас получалось создать работающий код реакции на столкновение шарика и 2-х линий?