将局部(视口相对坐标)转换为全局(图层坐标)
Convert local (viewport relative coordinates) to global (layer coordinates)
我正在尝试将视口坐标转换为全局(层)坐标。
我已经尝试过文档中描述的方法,但似乎不起作用:
var result= me.game.viewport.localToWorld(x,y, me.game.viewport.AXIS_BOTH);
我有,工作虎钳反之亦然的组合(将全局转换为本地):
me.event.subscribe("pointerdown", function (event) {
// convert the given into local (viewport) relative coordinates
var pos = me.input.globalToLocal(event.clientX, event.clientY);
});
为什么我认为me.game.viewport.localToWorld不起作用?因为对于我的实体,单击它时,我的坐标差异非常大(例如超过 200 个点)。
代码片段:
game.PlayerEntity = me.Entity.extend({
/**
* constructor
*/
init:function (x, y, settings)
{
var self=this;
self.leftMouseClicked=false;
me.event.subscribe("pointerdown", function (event) {
if(!self.leftMouseClicked) {
var result= me.game.viewport.localToWorld(self.pos.x,self.pos.y, me.game.viewport.AXIS_BOTH);
console.log(result);
console.log(event.clientX);
console.log(event.clientY);
self.leftMouseClicked=true;
}
});
...
所以我的问题是:
如何将视口坐标转换为第一层,类似于我们将全局转换为本地坐标?
我已经
找到了解决方案,它正在从me.game.viewport.pos偏移
。结果代码:
var self=this;
me.event.subscribe("pointerdown", function (event) {
//me.game.viewport.pos -- offset
var pos = me.input.globalToLocal(event.clientX, event.clientY);
self.mouseXCoord = pos.x+me.game.viewport.pos.x;
self.mouseYCoord = pos.y+me.game.viewport.pos.y;
});
相关文章:
- EaseJS拖放;放下(动画CC)电影剪辑的鼠标坐标
- 全局变量和全局对象的属性之间有什么区别吗
- 正在全局范围中查找JavaScript函数
- delete关键字在全局变量上的不同行为
- 在javascript函数中设置全局变量
- 如何在d3.js中返回路径的y坐标
- 如何将getJson的响应保存在全局变量中
- 全局对象是属于哪个类的对象
- Javascript全局onclick监听器
- 从Javascript方法返回全局变量
- 在谷歌地图上获取事件的x,y坐标
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- 访问jsrender模板中的全局javascript变量并更新它
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标
- javascript无法重新定义函数内部的全局对象
- 如何在JS Leatflet绘图插件中获取圆的坐标
- javascript 中的全局函数
- cordova:例外:财产'requestFileSystem'的[对象全局]不是函数
- 将局部(视口相对坐标)转换为全局(图层坐标)
- 如何将全局坐标转换为局部坐标