我的画架项目不能在线工作

时间:2015-06-07 19:41:30

标签: javascript web easeljs

我正在使用Jase库EaselJS开发视频游戏。
我的项目非常好,或在本地服务器上。但是,当我尝试将其上传到网站上时(例如:http://streetfighterjs.lixter.com/),它不再起作用了:我的精灵没有加载,我的画布中没有显示任何内容。
奇怪的是,我试图使用PreloadJS来预加载我的图像,但它似乎不起作用。我想知道是否有人已经遇到过这种问题,他是如何解决这个问题的。

4 个答案:

答案 0 :(得分:1)

您只包括easel.jssound.js

缺少

preload.js。因此createjs.LoadQueueundefined

只需加入preload.js,您的代码即可使用。

答案 1 :(得分:0)

您应该不时检查您的控制台:

typerror createjs is not a constructor

这一行发生了什么:

enter image description here

  

听起来像PreloadJS未包含或未加载。你能提供吗?   样本的链接?

Source

您正在从perso1获取未定义的typeffor。我注意到你正在创建你的perso1全局变量,但实际上并没有说明perso1等于什么。好吧,你可能会在后面的代码中,但是当你得到那个typerror时,perso1还没有设置。

perso1 undefined

答案 2 :(得分:0)

你需要在你的头部包含preloadjs(或者恰好在你的页脚元素之后)。

在我的项目中,我有以下顺序,它可以正常工作:

    <script src="../js/vendor/easeljs-0.7.1.min.js"></script>
    <script src="../js/vendor/soundjs-0.5.2.min.js"></script>
    <script src="../js/vendor/preloadjs-0.4.1.min.js"></script>

答案 3 :(得分:0)

目前,该网站存在的问题是,在您的代码(替代功能)期间perso1未定义。只要未加载第一个图像(imgPerso1),就会发生这种情况。

我也在控制台中看到XMLHttpRequest错误,表明正在尝试加载跨域。如果您的LoadQueue导致了这种情况,那么您可能希望将其更改为使用基于标记的加载而不是XHR来加载内容:

new createjs.LoadQueue(false);

一些杂项说明: 1.当您进行更改时,您不需要经常致电stage.update(),因为您有一个不断更新舞台的自动收报机。 2.您仍在使用Ticker的默认计时模式(基于超时)。版本0.8.1中没有useRAF属性 - 而是设置Ticker的timingMode

createjs.Ticker.timingMode = createjs.Ticker.RAF;

希望有所帮助。