Я получил эти функции:Сохранить координаты положения ребенка
private function onEmptySpaceClicked(e:MouseEvent):void{
var myVar = e.currentTarget.name;
if (e.currentTarget.name == "ES1"){
trace("click on one");
clickPuzzles.click1 = true;
}
if (e.currentTarget.name == "ES2"){
trace("click on two");
clickPuzzles.click2 = true;
}
public function buildIt(e:MouseEvent):void{
if (clickPuzzles.click1){
test.x = e.currentTarget.x;
test.y = e.currentTarget.y;
test.visible = true;
}
}
Функция builIt вызывается с помощью другого класса.
Все работает, но есть ли возможность сохранить e.currentTarget.x и y в функции onEmptySpaceClicked как значение?
А затем использовать его в моей функции buildIt?
Как:
private function onEmptySpaceClicked(e:MouseEvent):void{
var myVar = e.currentTarget.name;
if (e.currentTarget.name == "ES1"){
trace("click on one");
clickPuzzles.click1 = true
e.currentTarget.x && e.currentTarget.y = valueOfEs1
}
if (e.currentTarget.name == "ES2"){
trace("click on two");
clickPuzzles.click2 = true
e.currentTarget.x && e.currentTarget.y = valueOfEs2
}
public function buildIt(e:MouseEvent):void{
if (clickPuzzles.click1){
test.position = valueOfEs1
test.visible = true;
}
if (clickPuzzles.click2){
test.position = valueOfEs2
test.visible = true;
}
}
Спасибо за вашу помощь
EDIT
Спасибо за вас советы.
Вот что я сделал:
private function onEmptySpaceClicked(e:MouseEvent):void{
trace("click on it neww");
var myVar = e.currentTarget.name;
var valXes1;
var valYes1;
var valXes2;
var valYes2;
if (e.currentTarget.name == "ES1"){
trace("il faut écouter emplacement");
clickPuzzles.click1 = true;
valXes1 = e.currentTarget.x;
valYes1 = e.currentTarget.y;
trace(valXes1);
}
if (e.currentTarget.name == "ES2"){
trace("il faut écouter emplacement VARI");
trace("puzzle2 est vrai");
clickPuzzles.click2 = true;
valXes2 = e.currentTarget.x;
valYes2 = e.currentTarget.y;
trace(valXes2);
}
}
public function buildIt(e:MouseEvent):void{
var valXes1;
var valYes1;
var valXes2;
var valYes2;
if (clickPuzzles.click1){
test.x = valXes1
test.y = valYes1
test.visible = true;
}
if (clickPuzzles.click2){
trace("puzzle2 is called");
test.x = valXes2
test.y = valYes2
test.visible = true;
}
}
Загадки 2 или 1 хорошо званых, но, кажется, что valXes1 и valXes2 имеют точно такое же значение (valYes1 и valYes2 тоже).
Что я сделал не так?
EDIT 2
Итак, я позиционируется emptyspace и emptyspace 2 так:
emptyspace .x = 0;
emptyspace .y = 0;
emptyspace2.x = 50;
emptyspace2.y = 50;
In the function onEmptySpaceClicked
if (e.currentTarget.name == "ES1"){
trace("il faut écouter emplacement");
clickPuzzles.click1 = true;
valXes1 = e.currentTarget.x;
valYes1 = e.currentTarget.y;
trace(valXes1);
}
if (e.currentTarget.name == "ES2"){
trace("il faut écouter emplacement VARI");
trace("puzzle2 est vrai");
clickPuzzles.click2 = true;
valXes2 = e.currentTarget.x;
valYes2 = e.currentTarget.y;
trace(valXes2);
the trace(valXes1) is 0 and the trace(valXes2) is 50.
Так это работает.
НО, в этой функции:
public function buildIt(e:MouseEvent):void{
var valXes1;
var valYes1;
var valXes2;
var valYes2;
if (clickPuzzles.click1){
test.x = valXes1
test.y = valYes1
test.visible = true;
}
if (clickPuzzles.click2){
trace("puzzle2");
test.x = valXes2
test.y = valYes2
test.visible = true;
}
}
след ("puzzle2") показывает (хорошо), но тест позиция = на valYes1 и valXes1
(так что "тест" мувиклип является положение не в том месте)
Знаете ли вы, что не так?
Спасибо! Поэтому ошибок нет, но странно valXes1 и valXes 2 имеют одинаковое значение (0)! Ты знаешь почему ? Я отредактирую свой пост, чтобы показать вам, что я сделал. – user2421975
Нет, вызываются emptyspaces. emptyspace = new Emptyspace (stage, usableItems [0]); addChildAt (emptyspace, 0); – user2421975
им нужно будет находиться на сцене или, по крайней мере, располагаться, прежде чем вы сможете захватить x или y, кроме 0 – InkeyString