PDA

Просмотр полной версии : помогите с проверкой _droptarget


DJNICK
18.02.2008, 15:45
Приветствую всех, кто заглянул в этот пост=)
У меня такой вопрос возник:
Я разрабатываю игрулину и мне нужно, чтобы проверка условия местоположения мувиклипов происходила после того, как они все пернесены на места: есть 5 брёвен от 1 до 5
нужно, чтобы они были расставлены по порядку т.е. 1.2.3.4.5, тогда по мостику можно будет перейти иначе -нет, я реализовал так:

в действиях бревна:
on (press) {
startDrag(this);
}

on (release) {
stopDrag();
if (_droptarget == "/area1") {
stop();
;

} else {
this._x = mov_x;
this._y = mov_y;
}
}
и в первом кадре того-же бревна:
stop();
mov_x=this._x;
mov_y=this._y;

и так со всеми брёвнами т.е. при перетаскиваниии на неправильные места брёвна летят туда, где я их брал(каждое по отдельности), но мне нужно чтобы проверка местоположения происходила после перетаскивания ВСЕХ брёвен, долбаюсь над этим не первый день уже =(
пробовал задавать условия так в действиях главного окна:
...
if (mc._droptarget == "/area1") {
stop();
;
...
}
отладчик ошибки не пищет но и условия не выполняютсо =(
я новичёк в AS и может неправильно понял структуру языка, так что прошу извинитьт заранее=)
буду благодарен за любую информацию по этому поводу.

telit
18.02.2008, 16:53
HitTest используй

CorC
19.02.2008, 09:52
Почему вы не любите заводить что-нибудь, содержащее информацию о состоянии обьектов? Жизнь бы проще была.

DJNICK
19.02.2008, 13:51
Проюовал с ХИТ ТЕСТОМ, проблема остаётся.
Думал, думал, начал эксперементировать с переменными:

on (press) {
startDrag(this);
}
on (release) {
stopDrag();
if (_droptarget == "/area1") {
var ob1:String = "tam";
set ("ob1", "tam");
}
}


вот какую фигню нахимичил,значения присваиваются проверял трейсом,
но вот в чём загвоздка создал клавишу проверки:

if (( ob1= "tam") and (ob2 = "tam")){
trace("Усё на месте =)");

}

При нажатии на неё он фсегда пишет что "усё на месте", даже когда обьекты не там, где надо, вот сейчас сижу, и рыскаю в и-нете в поисках примеров, исходников и.т.д=)

DJNICK
19.02.2008, 13:53
Почему вы не любите заводить что-нибудь, содержащее информацию о состоянии обьектов? Жизнь бы проще была.
роюсь, ищу, найду, обязателно буду использовазь что-нить вроде БД с состоянием обьектов, така как в будущем пригодится очень=) а пока что я новичёк и не умею, только учусь...

udaaff
19.02.2008, 14:07
В условии (последний код) вместо оператора == у вас =. И and устарел (нужно использовать &&), впрочем так же как и написание кода на мувиках.

DJNICK
19.02.2008, 15:42
Когда в условии проверки я ставил == он вообще ничего не проверяет почему-то =( я пишу на влэш мх2004, так как привык к ней очень=)
Давно ещё с выхода 5 флэша я занимался созданиям сайтов и банеров на флэшэ, но потом забросил это дело, так как времени мало стало, вот спустя 4 года мне мой старый знакомый предложил один интересный проект=) сечас вспоминаю, как работать во флэше=) оказывается всё очень изменилось.

З.Ы.: Вот подумал мож поставить всё-таки свежую версию АДОБ ФЛЭШ ЦС ? =) но сомнения гложат меня будут ли мои исходники, написаные на ас2 совместимы с ас3? или всё-таки придётся вручную исправлять всё и приводить в соответствие с новым языком скриптинга=)

DJNICK
19.02.2008, 16:38
Кодил, кодил накодил такую фигню =) _root.переменная :
on (press) {
startDrag(this);
}

on (release) {
stopDrag();
if (_droptarget == "/area2") {
set ("_root.POSITION", "tut");

} else {
set ("_root.POSITION","hren vam")}
...
}

и проверка if ((_root.position == "tut")&&(_root.position2 == "u tut"))
trace("афигеть");
else {trace("хнифига");}


теперь задача выподнима=) всё получилось, всем спасибо=)