我正在学习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()
EaselJS需要读取像素值来确定鼠标碰撞。我建议使用像MAMP(osx)或XAMPP(win)这样的本地服务器来进行本地测试。
http://www.mamp.info/en/index.htmlhttp://www.apachefriends.org/en/xampp.html
还有一些好的。在内部,我们使用Grunt进行开发,它有一个提供相同功能的Connect模块。它需要更多的设置,但有很多其他功能,如代码缩小、sass编译、浏览器自动重新加载等。
http://gruntjs.com/https://github.com/gruntjs/grunt-contrib-connect