javascript - ctx.fillText 不绘制连接

标签 javascript node.js html html5-canvas

出于某种原因,当客户端连接到服务器时,ctx.fillText 不想绘制任何内容。控制台正在正确记录所有内容,因此该功能可以正常工作,但 Canvas 有点愚蠢。

这是服务器端代码的一部分:

io.sockets.on('connection', function(socket){

  socket.id = Math.random();
  SOCKET_LIST[socket.id] = socket;

  console.log(":: Client Connected -- " + Date());
});

setInterval(function(){

 for(var i in SOCKET_LIST){
    var socket = SOCKET_LIST[i];

    socket.emit('PlayerID', {
        id: socket.id
    });
 }

}, 1000/25);

客户端:

<canvas id="ctx" width="800" height="500" style="border: 1px solid #000;"></canvas> 

<script type="text/javascript">
    var socket = io();

    var ctx = document.getElementById("ctx").getContext("2d");


    socket.on('PlayerID', function(data){
        ctx.clearRect(0, 0, 800, 500);
        ctx.fillText('Client', 0, 0); // (data.id.toString(), 0, 0)
        console.log(data.id);
    });
</script>

最佳答案

ctx.fillText 根据当前 textBaseline 定位文本、字体、文本对齐和方向值。

fillText( txt, 0, 0)默认情况下,将非降序文本放置在 Canvas 上方。插入ctx.textBaseline = "top";和/或增加调用 fillText 时传递的 y 坐标值可用于重新定位文本以使其可见。

关于javascript - ctx.fillText 不绘制连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36119927/

相关文章:

javascript - 将按钮 onclick 事件绑定(bind)到 Backbone View

javascript - 尝试使用 Node.js Express 连接到 LinkedIn API

node.js - browser-perf 和 protractor-perf 和 perfjankie 之间的区别

JavaScript 不会更新文件

html - 文本未垂直居中

javascript - 在没有 IE 提示的情况下关闭父窗口 (javascript)

javascript - MongoDB:您可以将一个集合作为字段包含在另一个集合的文档中吗?

javascript - 在python中,如何让scrapy返回隐藏元素的内容?

php - 使用memcached存储session数据,安全吗?

html - 如何使用 CSS 居中 li 标签