почему (если) не работает без ошибок в коде - PullRequest
0 голосов
/ 01 ноября 2019

мой код с AS3, (если-еще), когда я запускаю, он не дает мне ошибку, но и не дает мне результат (если), который я хочу. (Том) объект должен быть невидимым, если коснуться другого объекта с именем (еда), иначе (Том) вернуться к тому месту, с которым идея (перетаскивание)

var hits = 0;
tom.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
tom.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);

function mouseDownHandler(evt:MouseEvent):void {
   var object = evt.target;
   // we should limit dragging to the area inside the canvas
   object.startDrag();
}

function mouseUpHandler(evt:MouseEvent):void {
   var obj = evt.target;
   var target = obj.dropTarget;

   if (target == food && obj == tom) {
      obj.visible=false;
   } else {
      obj.x=1051.05;
      obj.y=135.05;
      obj.stopDrag();
   }
}

1 Ответ

0 голосов
/ 02 ноября 2019

"Когда я бегу, это не дает мне ошибки, но и не дает мне результата if, который я хочу."

Это потому, что естьНет ошибки. Вы не получите результат, потому что ваше условие IF никогда не достигается. Подумайте о примере: if (obj == tom) Здесь, что когда-либо сделало бы var obj будет равным var tom?

Решение:

Я подозреваюfood и tom - это имена, верно? Попробуйте код для проверки по имени экземпляра ...

function mouseUpHandler (evt:MouseEvent) :void 
{
    var obj = evt.target;
    var target = obj.dropTarget;

    if (target.name == "food" && obj.name == "tom") 
    {
      obj.visible = false;
    } 
    else 
    {
      obj.x = 1051.05;
      obj.y = 135.05;
      obj.stopDrag();
    }
}
...