2

我正在学习 EaselJS,但遇到了这个奇怪的错误:

无法从画布获取图像数据,因为画布已被跨域数据污染。easeljs-0.6.0.min.js:71

未捕获 发生错误。这很可能是由于使用本地或跨域图像读取画布像素数据的安全限制。

问题是,我的两个图像都来自localhost- 我将它们存储在我的根目录中。这就是我的代码的样子:

function init() {
    var canvas = document.getElementById("demoCanvas");
    var stage = new createjs.Stage(canvas);
    var im = new createjs.Bitmap("dbz.jpg");
        im.regX - im.image.width *.2; 
        im.regY - im.image.height *.2; 
    stage.addChild(im);
    stage.update();

    im.addEventListener("click", function() {
        var seed = new createjs.Bitmap("seed.jpg");
        stage.addchild(seed);
        stage.update();
    }); //end seed eventlistener

} //end function init()
4

1 回答 1

1

EaselJS 需要读取像素值来确定鼠标碰撞。我建议使用像 MAMP (osx) 或 XAMPP (win) 这样的本地服务器来进行本地测试。

http://www.mamp.info/en/index.html http://www.apachefriends.org/en/xampp.html

也有一些不错的。在内部,我们使用 Grunt 进行开发,它有一个提供相同功能的 Connect 模块。它需要更多的设置,但还有很多其他功能,如代码压缩、sass 编译、浏览器自动重新加载等。

http://gruntjs.com/ https://github.com/gruntjs/grunt-contrib-connect

于 2013-07-16T13:44:27.190 回答