javascript - 如何防止图像超出屏幕边框?
问题描述
所以我正在创建一个游戏,其中宇宙飞船与键盘控制器一起移动。然而,当这个图标被推向屏幕边界时,它就会消失。我做了一个代码来防止这种情况,但它不知道为什么?
宇宙飞船代码
let display = document.getElementById("body").style.width
let rect = document.getElementById("icon-p1")
let pos = {top: 85, left: 600}
const keys = {}
window.addEventListener("keydown", function(e) {keys[e.keyCode] = true})
window.addEventListener("keyup", function(e) {keys[e.keyCode] = false})
const loop = function() {
if (keys[37] || keys[81]) {pos.left -= 10}
if (keys[39] || keys[68]) {pos.left += 10}
if (keys[38] || keys[90]) {pos.top -= 1}
if (keys[40] || keys[83]) {pos.top += 1}
rect.style.left = pos.left + "px"; rect.style.top = pos.top + "%"}
let sens = setInterval(loop, 1000 / 40)
背景代码
width: 100%;
background-image: url(Photo/bg.jpg);
background-repeat: no-repeat;
background-attachment: fixed;
background-size: cover;
overflow: hidden; }
解决方案
尝试使用位置:相对;用于容器元素
推荐阅读
- java - 扩展的 JLabel 类未显示在分层窗格中
- python-3.x - 不能并行运行超过 X Dags
- elasticsearch - 我们可以将错误的弹性搜索输入作为字符串处理吗?
- android - 如果 android jetpack compose 中的单词太长,则用连字符打破句子行
- qt - 当有委托时,使 QTableView 的 Key_Up 和 Key_Tab 行为相同
- python - 如何在不同环境中通过新终端执行命令
- c# - Firestore collectionGroup 查询在 Unity 中返回空结果
- com - .NET WebBrowser 粘贴安全限制
- c++ - C ++:重新绑定泛型类型的变量
- flutter - 在 Flutter Web 视图中控制 Facebook 视频