Egret社区

显示对象 矩阵

2014-9-9 17:49
14775
Egret版本 1.05 复现概率 100%
问题描述

显示对象 在做旋转后,本身的 x,y 会发生改变。

复现步骤

1 new 显示对象 2 设置初始坐标 3 设置 rotation 4 观察 x,y坐标

错误代码
var tankPt:egret.Point=this._tank.localToGlobal();
this._tank.rotation += 10;
console.log("tankPt" + tankPt.x + " " + tankPt.y + " x y " + this._tank.x + ' '  + this._tank.y);
BUG截图

分享到 :
0 人收藏

5 个回复

倒序浏览
joel  初学乍练 | 2014-9-9 17:51:06
正常逻辑,
旋转只会更改对象的宽高,不改变对象的坐标
egret-Jerry  官方团队 | 2014-9-9 18:32:49
我这里是用Bitmap测试的,没有问题,能提供一份你的demo下载么?
joel  初学乍练 | 2014-9-9 18:51:22
egret-Jerry 发表于 2014-9-9 18:32
我这里是用Bitmap测试的,没有问题,能提供一份你的demo下载么?

再确认了下,旋转了之后,相对坐标是没有变化,但是用 localToGlobal 得到的坐标发生变化了。
代码如下。

var tankPt:egret.Point = this._tank.localToGlobal();
        console.log("tankPt" + tankPt.x + " " + tankPt.y + " x y " + this._tank.x + ' '  + this._tank.y);

        this._tank.rotation += 10;
        tankPt = this._tank.localToGlobal();
        console.log("tankPt" + tankPt.x + " " + tankPt.y + " x y " + this._tank.x + ' '  + this._tank.y);

tankPt 605 690 x y 167 99
tankPt 615.2712188409087 684.5994314353069 x y 167 99

以上第一行是 bitmap初始全局坐标 与本地坐标均正常,
但是旋转之后,全局坐标改变了。this._tank.是 bitmap对象.

egret-Jerry  官方团队 | 2014-9-9 19:40:41
joel 发表于 2014-9-9 18:51
再确认了下,旋转了之后,相对坐标是没有变化,但是用 localToGlobal 得到的坐标发生变化了。
代码如下。 ...

恩,我知道了,你说的问题是因为设置了锚点,这个从逻辑上讲是合理的
joel  初学乍练 | 2014-9-9 20:40:13
egret-Jerry 发表于 2014-9-9 19:40
恩,我知道了,你说的问题是因为设置了锚点,这个从逻辑上讲是合理的

localToGlobal取到的坐标能根据锚点来吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

joel

初学乍练

积分: 10 帖子: 8 精华: 0

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号

Powered by Discuz! X3.2 © 2001-2019 Comsenz Inc.

返回顶部