javascript - 从循环中生成多个图像

标签 javascript loops while-loop konvajs

我尝试编写一个循环,从本地路径加载图像。为此,我尝试使用 Konva:

const playerLayer = new Konva.Layer();
var playerAmount = 1;
  while (playerAmount < 6) {
    var playerIcon = new Image();

    var playerInstance = new Konva.Image({
      x: 660,
      y: 140,
      image: playerIcon,
      width: 32,
      height: 32
    });
    playerIcon.src = "media/heroes/hero1.png";
    playerLayer.add(playerInstance);
    playerAmount++;
    } 
    stage.add(playerLayer);

由于某些原因,图像没有出现。

我检查了什么:

  • Konva.Image 成功成为 PlayerLayer 的子级,我可以在代码检查器中看到它们
  • 层出现在页面上,上面什么也没有(我可以在检查器中看到它)
  • 用简单的形状 (Regular.Polygon) 替换图片效果很好。

最佳答案

加载图像时需要重绘图层:

playerIcon.onload = function() {
  playerLayer.batchDraw();
}

关于javascript - 从循环中生成多个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50816925/

相关文章:

Javascript - 我无法在字符串的开头连接

c - 为什么“while(!feof(file))”总是错误的?

c++ - 打开一个文件程序 w/while 循环 C++

javascript - 如何以 Angular 方式为下拉菜单设置特定值?

javascript - 与用户操作交互的模态弹出窗口,如用户设置的最大化、最小化、关闭、调整大小和可拖动

php - 在生成 HTML 输出之前从 php 中的外部 javascript 获取 cookie

python - 降低 python for 循环的时间复杂度

r - 在 R 中创建一个循环,该循环也会更改列名称

html - Sass (SCSS) 如何使用独特的颜色和背景图像来简洁地设置多个元素的样式?

r - For 循环创建重复 ID block 的序列