Skip to content

Instantly share code, notes, and snippets.

@lynxerzhang
Created August 29, 2012 03:49
Show Gist options
  • Save lynxerzhang/3506618 to your computer and use it in GitHub Desktop.
Save lynxerzhang/3506618 to your computer and use it in GitHub Desktop.
dropTarget属性和getObjectsUnderPoint方法的'问题'
在使用Sprite的dropTarget属性的时候发现个容易混淆的问题
//动态创建了一个sprite, 内部绘制一个矩形
sprite.graphics.beginFill(0, 1);
sprite.graphics.drawRect(0, 0, 100, 100);
sprite.graphics.endFill();
//同时舞台上绘制一个shape转换并转换成一个MovieClip
这2者性质是不同的, 可以trace下这2个容器的numChildren可以发现, 动态创建的sprite即使内部绘制图形, 它不属于一个新的显示对象, 而舞台上手动创建的则正好相反, 在fla中还无法创建出来默认有内部绘制图形的MovieClip。
同时和DisplayObjectContainer的getObjectsUnderPoint方法一样, dropTarget返回的是当下鼠标点下的显示对象容器的最底层的显示对象(比如上面fla中创建的MovieClip中的Shape对象), 需要根据实际情况访问parent获取实际你想获取的显示对象, 如果碰巧是按钮, 那就无法通过parent属性获得(可以查阅api文档中对SimpleButton的描述)
在使用Sprite的dropTarget属性的时候发现个容易混淆的问题
//动态创建了一个sprite, 内部绘制一个矩形
sprite.graphics.beginFill(0, 1);
sprite.graphics.drawRect(0, 0, 100, 100);
sprite.graphics.endFill();
//同时舞台上绘制一个shape转换并转换成一个MovieClip
这2者性质是不同的, 可以trace下这2个容器的numChildren可以发现,
动态创建的sprite即使内部绘制图形,
它不属于一个新的显示对象, 而舞台上手动创建的则正好相反,
在fla中还无法创建出来默认有内部绘制图形的MovieClip。
同时和DisplayObjectContainer的getObjectsUnderPoint方法一样,
dropTarget返回的是当下鼠标点下的显示对象容器的最底层的显示对象(比如上面fla中创建的MovieClip中的Shape对象),
需要根据实际情况访问parent获取实际你想获取的显示对象,
如果碰巧是按钮, 那就无法通过parent属性获得(可以查阅api文档中对SimpleButton的描述)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment