Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我得到了这个错误;createjs未定义";即使我链接到了这个文件_Javascript_Easeljs_Createjs - Fatal编程技术网

Javascript 我得到了这个错误;createjs未定义";即使我链接到了这个文件

Javascript 我得到了这个错误;createjs未定义";即使我链接到了这个文件,javascript,easeljs,createjs,Javascript,Easeljs,Createjs,这里我有一个非常简单的脚本 stage = new createjs.Stage("myCanvas"); circle = new createjs.Shape(); circle.graphics.beginFill("red").drawCircle(0,0,40); 还有我的HTML <!DOCTYPE HTML> <html> <head> <link rel="stylesheet" type="text/css" href="mai

这里我有一个非常简单的脚本

stage = new createjs.Stage("myCanvas");

circle = new createjs.Shape();
circle.graphics.beginFill("red").drawCircle(0,0,40);
还有我的HTML

<!DOCTYPE HTML>

<html>
<head>

<link rel="stylesheet" type="text/css" href="mainStyle.css">
<script src="mainScript.js"></script>
<script src="create.js"></script>

</head>
<body>  

    <canvas id="myCanvas" width=1000 height=500 ></canvas>

</body>
</html>

但它并不奏效。我得到这个错误:

“未定义createjs”

但在我的HTML中,它链接到文件。是否还有其他原因导致这种情况?


<script src="create.js"></script>
<script src="mainScript.js"></script>

您的代码需要在包含
create.js
-订单事项后执行。

您的代码有几个问题

首先,要直接回答这个问题,必须先加载构造createjs对象的库,然后再加载实例化它的脚本。更改头部中脚本标记的顺序

其次,实例化将在画布元素添加到DOM之前执行。要解决此问题,您需要侦听文档的onload事件。然后执行代码

第三,要使红色圆圈对象实际显示,需要将其附加到画布,然后调用stages update方法

例:


对于角度项目,上述答案可能不足以解决问题。我所做的:

myAngularModule.service('preloadservice', function ($rootScope) {

  if (typeof createjs === 'undefined') {
    setTimeout(continueAfterWait, 500);
  } else {
    continueAfterWait();
  }

  var continueAfterWait = function () {
    var queue = new createjs.LoadQueue();
    //...
  } 
}

你能发布链接到该文件的代码吗?修改它以包含HTML
myAngularModule.service('preloadservice', function ($rootScope) {

  if (typeof createjs === 'undefined') {
    setTimeout(continueAfterWait, 500);
  } else {
    continueAfterWait();
  }

  var continueAfterWait = function () {
    var queue = new createjs.LoadQueue();
    //...
  } 
}