var isGameStarted = false; // Variable pour suivre si le jeu a démarré
function initializeGame() {
// Votre logique d'initialisation du jeu ici
document.getElementById("start").addEventListener("click", startGame);
}
function startGame() {
isGameStarted = true;
// Ajoutez un écouteur d'événements pour suivre le mouvement de la souris sur l'ensemble du document
document.addEventListener("mousemove", moveStartPoint);
// Changez la couleur des éléments avec la classe "walls" en vert
var wallElements = document.getElementsByClassName("walls");
for (var i = 0; i < wallElements.length; i++) {
wallElements[i].style.backgroundColor = "green";
}
// Changez le texte de l'élément avec l'id "description"
var descriptionElement = document.getElementById("description");
descriptionElement.innerHTML = "<b>Trouver la sortie</b>";
}
function moveStartPoint(event) {
if (isGameStarted && isMouseDown) {
// Obtenez la position de la souris par rapport à la fenêtre
var mouseX = event.clientX;
var mouseY = event.clientY;
// Déplacez le point de départ (élément avec l'id "start") à la position de la souris
var startPoint = document.getElementById("start");
startPoint.style.left = mouseX + "px" ;
startPoint.style.top = mouseY + "px" ;
}
}
var isMouseDown = false;
document.getElementById("start").addEventListener("mousedown", function () {
isMouseDown = true;
});
document.addEventListener("mouseup", function () {
isMouseDown = false;
});
// Appelez la fonction d'initialisation lors du chargement de la page
window.onload = initializeGame;
字符串
在我给出的代码中,你会注意到,在点击组件S来控制它之后,t会移动到边界之外,远离移动它的光标。我想用我的光标拖动组件S。任何帮助都是感激的。
1条答案
按热度按时间vcudknz31#
您只是将Y轴上的移动限制在
0
和startY
之间,这是错误的,因为startY
的值可以为负。Here is a demo
片段
字符串
完整代码
型
其他问题/bug
另外,在一个侧面注意到,游戏是不可玩的,因为你不能过去的一个块在中间,所以这里是css代码,以修复该块/墙
型
其他
您的播放器开始在起始位置,但它实际上是从播放器的方式在,见
ref 1
下面的图片x1c 0d1x的数据