PDA

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


veles2008
02.11.2009, 20:59
Приветствую! Помогите пожалуйста разобраться.

Есть два объекта которые нужно поставить на места.
1. Нажимаем на объект он становиться прозрачней.
2. Нажимаем на его место и он туда перемещается.
3. Если нажимаем не на то место он становится опять нормальным.

Не получается пункт №3.

Код прлагается.
var X0:Number = qq1._x;
var Y0:Number = qq1._y;
a=0;
b=0;
import mx.transitions.Tween;

q1.onPress = function() {
q1._alpha = 20;
b=b+1;
}

qq1.onPress = function() {
if (b==1 && this.hitTest(qq1)) {
var myTween1:Tween = new Tween(q1, "_x", mx.transitions.easing.Strong.easeOut, q1._x, X0, 0.5, true);
var myTween2:Tween = new Tween(q1, "_y", mx.transitions.easing.Strong.easeOut, q1._y, Y0, 0.5, true);

q1._alpha = 100;

delete q1.onPress;

}
// ?????
else { if (b==1 && this.hitTest(qq2)) {
q1._alpha =100;
}

}


}



var X1:Number = qq2._x;
var Y1:Number = qq2._y;


q2.onPress = function() {
q2._alpha = 20;
a=a+1;
}

qq2.onPress = function() {
if (a == 1 && this.hitTest(qq2)) {
var myTween3:Tween = new Tween(q2, "_x", mx.transitions.easing.Strong.easeOut, q2._x, X1, 0.5, true);
var myTween4:Tween = new Tween(q2, "_y", mx.transitions.easing.Strong.easeOut, q2._y, Y1, 0.5, true);

q2._alpha = 100;


delete q2.onPress;
}
//????
else { if (a==1 && this.hitTest(qq2)) {
q2._alpha =100;
}

}

}

skald
03.11.2009, 01:39
немного по кривому, но наглядно вроде набросал примерчик.

veles2008
03.11.2009, 02:14
Большое спасибо. Но дело в том что мне ещё нужно чтоб когда объект становился на место то больше не активировался. + при нажатии на не правильное место у меня появлялась надпись "...", а в конце (когда все предметы на месте) переходило на следуюющий кадр. В вашем коде я что то не могу разобраться как это сделать.

skald
03.11.2009, 13:12
там немного кривенько. но суть в том, что у всех однотипных объектов имена записываются так: form1, form2, form3 .... тоесть имя каждого состоит из "form" и его номера. чтобы не прописывать одинаковый код для всех объектов, там используется цикл for перебирающий все значения (в данном примере) от 1 до 3.и к началу приписывается "form" ... получается имя объекта. ключивое слово this ссылается на сам объект. пожалуй это все что необходимо вам знать для того, чтобы разобраться))))

воспользуйтесь trace(); для отслеживания значений переменных. + F1

veles2008
03.11.2009, 14:11
Спасибо. С текстом и переходом разобрался. Не могу понять как сделать чтобы когда объект становился на своё место на него больше нельзя было бы нажимать?

skald
03.11.2009, 18:00
добавь строчку movieMoove.enabled = false; перед твинами

veles2008
03.11.2009, 18:49
Большое спасибо!