白鹭引擎 - 本地坐标和舞台坐标的转化 ( globalToLocal, localToGlobal )
2018-02-01 13:58
561 查看
class Main extends egret.DisplayObjectContainer { /** * Main 类构造器, 初始化的时候自动执行, ( 子类的构造函数必须调用父类的构造函数 super ) * constructor 是类的构造函数, 类在实例化的时候调用 * egret.Event.ADDED_TO_STAGE, 在将显示对象添加到舞台显示列表时调度 */ public constructor(){ super(); this.addEventListener(egret.Event.ADDED_TO_STAGE, this.onAddToStage, this); } /** * 本地坐标与显示坐标的转换, 默认情况下, 显示对象的 x 和 y 都是些相对父显示对象的 * 如果要让显示对象相对于其他显示对象, 如主屏幕, 可以利用坐标的转化 * 显示对象.globalToLocal(x, y) 将舞台坐标转化为该显示对象内部本地坐标 ( 常用 ) * 显示对象.localToGlobal(x, y) 将本地坐标转化为该现实对象所在舞台坐标 ( 不常用 ) */ private onAddToStage(event:egret.Event){ // 创建一个空的 DisplayObjectContainer,把它的 x 和 y 坐标都改为 var container: egret.DisplayObjectContainer = new egret.DisplayObjectContainer(); container.x = 200; container.y = 200; this.addChild(container); // 画一个红色的圆,添加到 container 中 var circle: egret.Shape = new egret.Shape(); circle.graphics.beginFill(0xff0000); circle.graphics.drawCircle(25,25,25); circle.graphics.endFill(); container.addChild(circle); // 给圆增加点击事件 egret.TouchEvent.TOUCH_TAP, 事件类型只能用白鹭提供的 circle.touchEnabled = true; circle.addEventListener(egret.TouchEvent.TOUCH_TAP, onClick, this); function onClick():void{ // 把舞台左上角的坐标(0,0)转换为 container 内部的坐标 // egret.Point 坐标类, 两个属性 x 和 y , 对应横纵坐标 var targetPoint: egret.Point = container.globalToLocal(0,0); // 重新定位圆,可以看到圆形移到了屏幕的左上角 circle.x = targetPoint.x; circle.y = targetPoint.y; } } }
相关文章推荐
- AS:分析localToGlobal()和globalToLocal()
- [转]分析localToGlobal()和globalToLocal()
- [转]分析localToGlobal()和globalToLocal()
- localToGlobal和globalToLocal
- AS3 localToGlobal、globalToLocal方法的总结
- AS3 localToGlobal、globalToLocal方法的总结
- 索引分区分为:本地(局部)索引(local index) 全局索引(global index)
- 坐标的先对转化clienttoscreen与screentosclient
- Let there be Color!: Joint End-to-end Learning of Global and Local Image Priors for Automatic Image
- 要将Point对象从显示对象的本地坐标转换成舞台的全局坐标
- 论文笔记之:Let there be Color!: Joint End-to-end Learning of Global and Local Image Priors for Automatic
- octopress 如何添加youku视频和本地视频(octopress how to add a youku video or a local video)
- UTC时间转换为本地时间 UTCToLocalTime
- 论文笔记之:Let there be Color!: Joint End-to-end Learning of Global and Local Image Priors for Automatic
- 点击下载按钮下载文件到本地 download stream to local
- mac本地grunt提示:Fatal error: Unable to find local grunt.
- cocos2d学习---世界坐标和本地坐标的转化
- GlobalGiving: Connecting Personal Donors to Local Projects
- globalToLocal的坐标变换
- DataTable To Excel File,Create Excel, Create Local Floder 从数据库中读取数据存到本地指定文件夹的Excel中