#javascript #node.js #socket.io
#javascript #node.js #socket.io
Вопрос:
Я пытаюсь напечатать имя пользователя пользователя, когда он начинает рисовать на холсте. У меня есть это прямо сейчас, но он будет постоянно печатать имя пользователя пользователя снова и снова. Могу ли я каким-либо образом заставить ее печатать только один раз, а затем после их остановки имя пользователя пользователя будет удалено?
Вот код, который я должен отправить сокету, который рисует пользователь.
function mouseDragged() {
if (username == undefined || username == null) {
alert("Please enter a username before drawing!");
}
else {
fill(255);
noStroke();
ellipse(mouseX, mouseY, 20, 20);
// Send the mouse coordinates
sendmouse(mouseX, mouseY);
socket.emit('typing', username);
}
}
function sendmouse(xpos, ypos) {
//console.log("sendmouse: " xpos " " ypos);
var data = {
x: xpos,
y: ypos
};
// Send that object to the socket
socket.emit('mouse', data);
}
Тогда это код, который отправляет данные из Server.js к розетке
socket.on('typing', (username) => {
//console.log(username "is typing...");
socket.broadcast.emit('typing', username);
});
Тогда вот код, в котором я печатаю ввод пользователя.
socket.on('typing', function (username) {
//Adds username to list if they type!
console.log("A user is typing!");
$('#typing').append($('<li>').text(username "is drawing..."));
}, 1000);
Итак, просто чтобы напомнить, я хочу, чтобы имя пользователя пользователя было напечатано — как сейчас. Но я хочу, чтобы она печаталась только один раз, а затем после того, как пользователь остановится, имя пользователя пользователя будет удалено.
Большое вам спасибо, что нашли время, чтобы прочитать это. 🙂