Я пытаюсь создать взаимодействие drag and drop в анимационном CC, используя символ мувиклипа. Цель состоит в том, чтобы он оживлялся, когда он был сброшен в зону падения. Я видел, но для этого не использовал лист спрайтов, но это кажется хорошей идеей.Как заставить Animate CC распознавать капли в моем перетаскивании?
Однако мой вопрос основан скорее на том, чтобы распознать падение, когда это произойдет. Я не могу проверить идею листа спрайта, пока не получу это. Я смотрел кучу учебников, подобных этому, here, который только что редактировал this one для обработки символов в Animate CC или других объектах. Мне это очень понравилось, но он не слишком хорошо справляется с капельками. Я могу подобрать перетаскиваемый просто отлично, но я не могу заставить его выйти из мышки, даже когда я отпущу мышь.
dragger
- символ в анимации, который я пытаюсь перетащить (на всякий случай это было не очевидно).
dragger.on("pressmove", function(evt){
evt.currentTarget.x = evt.stageX;
evt.currentTarget.y = evt.stageY;
stage.update(evt);
});
Эта часть является то, что дает мне проблемы, я думаю:
//refuses to release. doesn't recognize it.
dragger.on("pressup", function(evt){
//lock position of thermometer and play stabby animation
dragger.x = dragger.x;
dragger.y = dragger.y;
if(intersect(evt.currentTarget, this.targetRight)){ //Intersection testing for good
alert("YAY you're right AND it works!");
}else if(intersect(evt.currentTarget, this.targetWrong)){ //intersection Testing for bad
alert("BOO its wrong, but YAY it works");
}
stage.update(evt);
});
, а затем мой код пересекается (для проверки, если она по площади падения):
function intersect(obj1, obj2){
var objBounds1 = obj1.getBounds().clone();
var objBounds2 = obj2.nominalBounds.clone(); // <-----Changed this line
var pt = obj1.globalToLocal(objBounds2.x, objBounds2.y);
var h1 = -(objBounds1.height/2 + objBounds2.height);
var h2 = objBounds2.height/2;
var w1 = -(objBounds1.width/2 + objBounds2.width);
var w2 = objBounds2.width/2;
if(pt.x > w2 || pt.x < w1) return false;
if(pt.y > h2 || pt.y < h1) return false;
return true;
}
У вас есть возможность опубликовать демо? Ваш код _looks_ отлично, но трудно сказать, не видя, что еще происходит. – Lanny
Конечно, просто дай мне секунду, чтобы подтянуть ссылку для него. – Mike
@ Lanny Я поставлю ссылку здесь: http://apersonnamedmike.github.io/drag-n-drop-demo/ Когда вы отпустите мышь, и это над одним из синих квадратов на цыпленке, это должно дать вам одно из предупреждений, включенных в код, но это, похоже, не нравится. – Mike