私はムービークリップシンボルを使用してアニメーションCCにドラッグアンドドロップ操作を構築しようとしています。目標はドロップ領域にドロップされたときにアニメートすることです。私は見ましたが、スプライトシートを実装していませんが、良いアイデアのようです。ドラッグ&ドロップでドロップを認識するためにAnimate CCを取得するにはどうすればよいですか?
しかし、私の質問は、発生したときにドロップを認識するようにすることに、より基づいています。私はこれを得るまで、スプライトシートのアイデアをテストすることはできません。 私はこれのような一連のチュートリアル、hereを見てきました。ちょうどthis oneを編集してアニメーションCCまたは他のオブジェクトのシンボルを処理しています。それは私に道のりの良いビットを持っていますが、それはドロップであまりにもうまく動作していません。私はドラッグテーブルを拾うことはできますが、マウスを離してもマウスから降りることはできません。
dragger
は、私がドラッグしようとしているアニメーションのシンボルです(明らかでない場合に備えて)。
//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;
}
デモを投稿できますか?あなたのコードはきれいですが、他に何が起こっているのかを見ずには分かりません。 – Lanny
もちろん、ちょっと待ってください。 – Mike
@Lannyここにリンクを貼ります:http://apersonnamedmike.github.io/drag-n-drop-demo/ マウス、それは鶏の青い四角の上にあるので、コードに含まれるアラートの1つを表示する必要がありますが、それは好きではないようです。 – Mike