如何检查 symbol/MC 是否是另一个 symbol/MC 的 child?
How can I check if a symbol/MC is a child of another symbol/MC?
我正在使用 Adobe Animate HTML5 Canvas。 EaselJS 也适用。
如何检查 symbol/MC 是否是另一个 symbol/MC 的 child?
所以下面加了一个symbol/MC作为lensParentLeft
的child。然后我想在后面的函数中检查它是否是 parent 的 child:
function onMouseUp(evt){
var item = evt.currentTarget;
item.drag = false;
var pt = item.localToLocal(item.dot.x, item.dot.y, item.LFLensHolder.hitBox);
if(item.LFLensHolder.hitBox.hitTest(pt.x, pt.y) ){
item.x = item.LFLensHolder.x;
item.y = item.LFLensHolder.y;
item.lensParentLeft.addChild(item);
}
}
后面的函数如下,可能在if(item.drag)
条件语句中:
function onMouseMove(evt){
var item = evt.currentTarget;
if (item.drag){
var pt = item.parent.globalToLocal(evt.stageX, evt.stageY);
item.x = pt.x - item.offset.x;
item.y = pt.y - item.offset.y;
}
}
这对我有用:
if (item.parent == this.lensParentLeft) {
//do stuff
}
在这种情况下,我只想将实例名称为 item
的符号的父级从 lensParentLeft
更改为舞台。
所以,我在大括号内添加了 this.addChild(item);
。
您可以使用contains
方法。它执行递归父级检查以找到祖先。
https://createjs.com/docs/easeljs/classes/Container.html#method_contains
if (someParent.contains(evt.currentTarget)) {
// Do something
}
请注意,如果您对照自身检查符号,contains
也将 return 为真。
我正在使用 Adobe Animate HTML5 Canvas。 EaselJS 也适用。
如何检查 symbol/MC 是否是另一个 symbol/MC 的 child?
所以下面加了一个symbol/MC作为lensParentLeft
的child。然后我想在后面的函数中检查它是否是 parent 的 child:
function onMouseUp(evt){
var item = evt.currentTarget;
item.drag = false;
var pt = item.localToLocal(item.dot.x, item.dot.y, item.LFLensHolder.hitBox);
if(item.LFLensHolder.hitBox.hitTest(pt.x, pt.y) ){
item.x = item.LFLensHolder.x;
item.y = item.LFLensHolder.y;
item.lensParentLeft.addChild(item);
}
}
后面的函数如下,可能在if(item.drag)
条件语句中:
function onMouseMove(evt){
var item = evt.currentTarget;
if (item.drag){
var pt = item.parent.globalToLocal(evt.stageX, evt.stageY);
item.x = pt.x - item.offset.x;
item.y = pt.y - item.offset.y;
}
}
这对我有用:
if (item.parent == this.lensParentLeft) {
//do stuff
}
在这种情况下,我只想将实例名称为 item
的符号的父级从 lensParentLeft
更改为舞台。
所以,我在大括号内添加了 this.addChild(item);
。
您可以使用contains
方法。它执行递归父级检查以找到祖先。
https://createjs.com/docs/easeljs/classes/Container.html#method_contains
if (someParent.contains(evt.currentTarget)) {
// Do something
}
请注意,如果您对照自身检查符号,contains
也将 return 为真。