小弟最近打算做一个网页游戏,需要预加载大量图片,
查看了网上一般的图片预加载技术之后,基本理解了,
但是我有个疑问就是,如果要预加载的东西有很多类型,不止图片,
还有xml文件等等各种的,怎么办?
我猜测着,
是否可以做一个类似于下载器的东西,
将所有需要的东西都提前下载下来,然后再用!
不知道这样能否实现,望大虾指正。
如果能的话,望给出一些相应技术的链接什么的,感激不尽!

解决方案 »

  1.   

    是不是loading效果?各种格式的资源可以 排成队列
    比如 
    image 用 new Image来生成,加载资源可以用ajax的方式,success之后再做相应操作。楼主 看看 这个是怎么做的loading(主要是图片)
    http://js.fgm.cc/learn/google/
      

  2.   


    对,就是这个loading的效果,如果单纯图片的话,我有个想法:
    因为我是打算把服务器上某个文件夹下的所有图片都预加载了,
    所以我的想法是,先在服务器端把所有需要预加载的东西整合成一个长的
    字符串,到了客户端的时候再把长的字符串分解为一个数组,
    之后就用new Image()的方法加载!
    但是我这儿有个疑问就是,可以不可以不通过客户端,直接在服务器端的时候,
    就直接把需要预加载的东西都发送给客户端这边,也就省去了new Image()这一步了,
    这只是我的猜测,望指正!
      

  3.   


    哦,谢谢大侠了!
    朋友,我刚又遇到个问题,打算做一个预加载的进度条,
    我对每个图片都有个onload事件,当加载完成之后,
    我会调用一个回调函数,在这个回调函数里,
    我会把一个公共变量每次加一,来表示当前的加载进度,
    但是我找了半天,都没有看到js有互斥访问变量的功能!
    求教!
      

  4.   


    终于自己找到答案了,原来目前js的执行都是单线程的,当然没问题!
    不过最近的HTML5的web workers是多线程的,虽然不允许访问页面元素,
    但不知道会不会有互斥访问的功能!