我正在使用melonJS创建一个游戏。我想动态地将对话框放置在NPC上。
在全屏幕上,它看起来很好。
当我缩小视口时,定位是绝对的,因此看起来很糟糕。但是,如果我不是绝对的,我就不能把它相对于全国人大的坐标:
$("#dialogBox").css({top: game.data.currentNPC_y+50, left: game.data.currentNPC_x-50, position:'absolute'});
有办法绕过这事吗?
编辑:
当我使用以下代码时,代码不会像上面提到的那样缩放,但至少它仍然在NPC附近和画布上:
$("#dialogBox").css({
top: game.data.currNPC_y+50,
left: game.data.currNPC_x-50,
position:'absolute'
});
当我使用您建议的代码时,它出现在画布之外:
$("#dialogBox").css({
position : "absolute",
left : (game.data.currentNPC_x - 50) * me.sys.scale.x,
top : (game.data.currentNPC_y - 500) * me.sys.scale.y
});
发布于 2014-03-24 00:58:37
用me.sys.scale.x
缩放DOM绝对左边,用me.sys.scale.y
缩放绝对顶部
$("#dialogBox").css({
"position" : "absolute",
"left" : (game.data.currentNPC_x - 50) * me.sys.scale.x,
"top" : (game.data.currentNPC_y + 50) * me.sys.scale.y
});
您也可以缩放元素的宽度和高度,以便更好地集成。
最后,您应该监听奥内西事件,以便在用户更改窗口大小或移动设备方向等时动态地重放元素。
https://stackoverflow.com/questions/22599217
复制相似问题