以下一种简单易懂,方便易用的网页图片预加载技术。:=D。

这种预加载技术使用了javascript技术、静态页面技术、div隐藏技术、gif动态图片技术、bash脚本技术、linux技术等各种前沿NB技术。。。

下面我就来揭开它神秘的面纱吧,当当当!!!!音乐~~~~掌声~~~~~~

---------------邪恶到不得了的分割线---------------------------------

主要思路就是利用浏览器的缓存功能,尽可能简单的实现加载过程。因此该方案生效的前提是浏览器一定要开启缓存功能(IE、Firefox等默认都是开启的)

1.首先,你需要把所有需要预加载的图片放到电脑上的一个文件夹下面。我的系统是ArchLinux的,所以我写了一个bash脚本来扫描图片文件夹下面所有的图片,并生成一段HTML代码,脚本代码如下

#!/bin/bash

for name in $(find .|grep '\.jpg$')

do

  echo "<img src=\"$name\">"

done

for name in $(find .|grep '\.png$')

do

  echo "<img src=\"$name\">"

done

保存为bat.sh,然后设置其为可执行权限并放到图片目录下

接着,打开一个新的tyy窗口,运行.\bat.sh >> 1.txt。就可以得到一份所有图片文件的HTML代码了,代码存储在1.txt里面。

2.在游戏主页面前加入一个loading页面,代码如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>



<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>很努力的加载中。。。</title>



<style type="text/css">

#loading-black
{ background-color:#000000; z-index:3000; width:100%; height:100%;}

#loading
{width:100%; height:100%; padding-top:212px; text-align:center; margin:0 auto; z-index:3000;}

</style>

</head>

<body bgcolor="#000" onload="window.location.href='index.php?ac=5game';">-->

<div id="loading-black" style="display:block">

<div id="loading"><img src="2008825893756277805.gif" /></div>

</div>

<div style="overflow-x:hidden; overflow-y:hidden; width:0px; height:0px;">

主意!!!!此处粘贴1.txt中的代码
</div>

</body>

</html>

3.最后一步,修改游戏为先跳转到loading页面,而后由loading页面的onload函数转入游戏主页面。

------------------------------------忧郁的分割线---------------------------------------

扩展:这种loading网页还可以被用作后台加载,就是游戏在前台跑的同时,后台自动加载剩下的图片、视频、声音等资源,具体实现方法是将需要加载的资源做成一个网页,像一些必须要调用才能加载的,比如视频、声音等,由js控制按照顺序加载。然后整个网页被游戏主网页用一个size为0的frame引用进来,即可实现后台加载效果。

作者: 张家瑞 发表于 2011-02-20 21:04 原文链接

推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架