PDA

Просмотр полной версии : Как проверить объекты на столкновение?


dipter
21.03.2006, 19:44
Как можно проверить 2 объекта на столкновение. Пробовал так, но почему-то не работает, может что-то не так сделал?

package
{
import flash.util.trace;
import flash.display.*

public class ht extends Sprite{
public function ht(){
addChild(ci(100,20));
//если сместить правее, то ничего не измениться
addChild(ci(110,25))
trace(getChildAt(0).hitTestPoint(getChildAt(1).x,getChildAt(1).y,true))
trace(getChildAt(0).hitTestPoint(getChildAt(1).x,getChildAt(1).y,false))
}
private function ci(_x:uint,_y:uint):DisplayObject{
var child:Shape = new Shape();
child.graphics.beginFill(0xFFCC00);
child.graphics.lineStyle(1, 0x666666);
child.graphics.drawCircle(0, 0, 20);
child.graphics.endFill();
child.x=_x;
child.y=_y
return(child);
}
}
}

Niketas
25.03.2006, 12:24
Потому что у тебя смайлик в коде. Вот и не работает. lol
Пользуйся тэгом [CODE].
А класса flash.util.trace у меня вообще нет.
Output:
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 3: The class 'flash.util.trace' could not be loaded.
-----
Total ActionScript Errors: 11

Так что много ты там накосячил, не в одном месте :moder:

Antares
25.03.2006, 14:49
А у тебя что-то, что компилирует АС3, есть? Нет? Вот и приплыли...

Функция trace начиная с AS3 -- член пакета, и она импортируется

JudgeFog
25.03.2006, 15:39
Потому что у тебя смайлик в коде. Вот и не работает. lol
Так что много ты там накосячил, не в одном месте :moder:
чепуху вы говорите шариков
класс, который существует, но какого-то хрена не грузится у тебя - твои личные проблемы

dipter, другой вопрос что точку с запятой в конце строки не лишне ставить
и куда ты смотришь? trace выводит в окно Console, соответственно для запуска надо давить Debug, а не Run
вот трейс для твоего примера:

true
true

все работает
сместишь - будет false

dipter
25.03.2006, 19:25
У меня выводит false и true и делаю через debug.

silin
26.03.2006, 22:36
навалились:смайлики,импорт trace,точка с запятой, не там смотришь - умники :)
dipter прав: нормально работает тока hitTestPoint(x,y,true), а hitTestPoint(x,y,false) нет..

dipter
27.03.2006, 09:16
Так можно ли как-то заставить его работать?