[英]My easeljs project doesn't work online
我正在使用EaselJS(一个Javascript库)开发视频游戏。
我的项目可以很好地工作,也可以在本地服务器上工作。 但是,当我尝试将其上传到网站(例如: http : //streetfighterjs.lixter.com/ )时,它不再起作用:我的精灵未加载,并且画布上未显示任何内容。
奇怪的是,我尝试使用PreloadJS来预加载图像,但似乎不起作用。 我想知道是否有人已经遇到过这种问题,他是如何解决的。
您只包含了easel.js
和sound.js
。
preload.js
丢失。 因此, createjs.LoadQueue
是undefined
。
只要包含preload.js
,您的代码就可以工作。
您应该不时检查控制台:
从这行发生的是:
听起来好像不包含PreloadJS或未加载它。 您可以提供示例链接吗?
您正在perso1
定义的perso1获得perso1
。 我注意到您正在创建perso1全局变量,但实际上并没有说说perso1等于什么。 好吧,您可能会在代码后面,但是当您遇到该typerror时,尚未设置perso1。
您需要在头中包含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>
目前,该网站的问题是, perso1
您蜱(deplacement功能)时是不明确的。 只要未加载第一个图像(imgPerso1),就会发生这种情况。
我还在控制台中看到XMLHttpRequest错误,表明某些内容正在尝试加载跨域。 如果是导致您的LoadQueue的原因,则可能需要更改它以使用基于标记的加载而不是XHR加载内容:
new createjs.LoadQueue(false);
一些其他注意事项:1.进行更改时,您不需要不断调用stage.update()
,因为您有一个自动stage.update()
,可以不断为您更新舞台。 2.您仍在使用默认的计时模式作为股票行情(基于超时)。 在0.8.1版本中没有useRAF
属性-而是设置代码行的timingMode
:
createjs.Ticker.timingMode = createjs.Ticker.RAF;
希望能有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.