首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CSS定位问题

CSS定位问题
EN

Stack Overflow用户
提问于 2014-03-24 00:42:10
回答 1查看 133关注 0票数 0

我正在使用melonJS创建一个游戏。我想动态地将对话框放置在NPC上。

在全屏幕上,它看起来很好。

当我缩小视口时,定位是绝对的,因此看起来很糟糕。但是,如果我不是绝对的,我就不能把它相对于全国人大的坐标:

$("#dialogBox").css({top: game.data.currentNPC_y+50, left: game.data.currentNPC_x-50, position:'absolute'});

有办法绕过这事吗?

编辑:

当我使用以下代码时,代码不会像上面提到的那样缩放,但至少它仍然在NPC附近和画布上:

代码语言:javascript
运行
复制
        $("#dialogBox").css({
            top: game.data.currNPC_y+50, 
            left: game.data.currNPC_x-50, 
            position:'absolute'
        }); 

当我使用您建议的代码时,它出现在画布之外:

代码语言:javascript
运行
复制
        $("#dialogBox").css({
            position : "absolute",
            left     : (game.data.currentNPC_x - 50) * me.sys.scale.x,
            top      : (game.data.currentNPC_y - 500) * me.sys.scale.y
        });

EN

回答 1

Stack Overflow用户

发布于 2014-03-24 00:58:37

me.sys.scale.x缩放DOM绝对左边,用me.sys.scale.y缩放绝对顶部

代码语言:javascript
运行
复制
$("#dialogBox").css({
    "position" : "absolute",
    "left"     : (game.data.currentNPC_x - 50) * me.sys.scale.x,
    "top"      : (game.data.currentNPC_y + 50) * me.sys.scale.y
});

您也可以缩放元素的宽度和高度,以便更好地集成。

最后,您应该监听奥内西事件,以便在用户更改窗口大小或移动设备方向等时动态地重放元素。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22599217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档