| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > Flash游戏制作 > 文章正文 用户登录
如何加入透明Flas
为新浪博客添加fl
flashget下载联盟
265联盟:“Flash
新易网络提供100M
龙太极/100m/asp/
无限网络提供50M 
霞光科技50M/Htm/
苏能科技100M/FTP
悠博科技50M/FTP/

FLASH 游戏排行榜程序           

FLASH 游戏排行榜程序

作者:佚名 来源:闪吧 作者: cmm 更新:2007-1-13 20:43:13 错误报告 我要投稿

这个程序分两部分,我不会写教程所以直接贴出来而已;不明白的大家交流。(闪吧论坛交流)
首先讲ASP部分,因为比较少
显示数据的ASP页面

<!--msg.asp-->
<%’连接名称为xfile.mdb的数据库
set conn=server.createobject("adodb.connection")
conn.open "provider=microsoft.jet.oledb.4.0;data source="&server.mappath("xfile.mdb")
set rs=server.CreateObject("adodb.recordset")
’以上这段可以独立于一个文件,使用的时候用一个包含即可,如
’<!--#include file="conn.asp"-->
’其他说明:
’修改SQL语句即可以实现当日,本周,本月,或者年度排行了
’其次,如何加上 首页 和 尾页 连接按钮?翻页按钮里面写有,提取出来即可//msg.asp?page=页数
’加上第一,二,三,四 原理也是一样的。
’只列出最高分的20条记录
’sql="select top 20 * from info order by sco desc"
’列出全部数据
sql="select * from info order by sco desc"
rs.open sql,conn,1,1
if not rs.eof then
page=1
’ 设置变量默认PAGE=1
rs.PageSize = 5 ’每页显示记录数
if Not IsEmpty(Request("Page")) then ’如果PAGE已经初始化...
Page = CInt(Request("Page")) ’接收PAGE并化为数字型赋给PAGE变量

if Page > rs.PageCount then ’如果接收的页数大于总页数
rs.AbsolutePage = rs.PageCount ’设置当前显示页等于最后页

elseif Page <= 0 then ’如果page小于等于0
Page = 1 ’设置PAGE等于第一页
else
rs.AbsolutePage = Page ’如果大于零,显示当前页等于接收的页数
end if
End if
Page = rs.AbsolutePage
’fenye
%>
<%vip=1
For i = 1 to rs.PageSize
if rs.EOF then
Exit For
end if ’利用for next 循环依次读出记录
%>
<%
’以下代码是让FLASH可以获取的排列形式
’FLASH获取多个变量一般是这样的
’变量1=9999&变量2=99455&变量3=88788
’就是这样啦。为什么?我也不知道^_^%>
<%response.write"&sn"&vip&"="&(vip+(page-1)*5)&"&<br>&um"&vip&"="&rs("um")&"&<br>&sc"&vip&"="&rs("sco")&"&<br>"&"&dat"&vip&"="&rs("dat")&"&<br><br>"%>
<%rs.movenext’循环依次读出记录
vip=vip+1
next
%>
<%="<br>&num="%><%=page%>
<%="&<br>&nxt="%><%=page+1%>
<%="&<br>&tal="%><%=rs.pagecount%><%="&"%>
<%else%>
<%response.write"NO MSG ..."%>
<%end if
rs.close
set rs=nothing
conn.close
set conn=nothing
%>

增加数据的ASP页面



<!--adsco.asp-->
<% dim hero,fs
hero=Request.Form("hero") ’获取FLASH传来的姓名
if hero="" then
hero="无名氏" ’如果玩家没有写名称
end if
fs=Request.Form("fs") ’获取FLASH传来的分数
set conn=server.createobject("adodb.connection")
conn.open "provider=microsoft.jet.oledb.4.0;data source="&server.mappath("xfile.mdb")
set rs=server.CreateObject("adodb.recordset")
sql="select * from info where id=0"
rs.open sql,conn,1,3
rs.addnew’开始增加新数据
rs("um")=hero
rs("sco")=fs
rs.update
rs.close ’关闭对象
conn.close
’response.redirect("msg.asp")
%>

数据库

按此在新窗口浏览图片
呵呵,不是很复杂吧?

以下是FLASH的部分,因为XML还不是很熟思,所以用的是LOADVARS对象,没有使用XML的LOADVARS。

发送分数帧AS

stop();//as for frame

在此帧做一个发送的MC

onClipEvent (data) {//as for mc
this.gotoAndStop("done");
_root.play();
}

MC内部的结构 两个文本 1.输入文本 变量名为:hero 2.动态文本:变量名为:fs;
第一帧AS

stop();
fs=random(9001)+1000;

现在是模拟,所以分数是随机生成

按此在新窗口浏览图片

发送按钮AS

on (release) {
System.useCodepage=true;//支持显示中文
this.loadVariables("adsco.asp", "POST");
gotoAndStop("loading");
}

LOADING部分可以自由发挥,做个漂亮的LOADING动画,

显示数据页面

按此在新窗口浏览图片

帧AS代码

System.useCodepage=true;//支持显示中文
var ms=new LoadVars; //定义加载对象
ms.load("msg.asp");//加载对象,也就是读取ASP数据
ms.onLoad=function(success){ //检测读取状态
if(success){
trace("OK");
_root.ltd._visible=false;
_root.num=ms.num;
_root.tal=ms.tal;
_root.nxt=ms.nxt;
for(i=1;i<6;i++){//如果读取成功给文本赋值
cn="sn"+i;
cx="um"+i;
cs="sc"+i;
cd="dat"+i;
trace(sm);
_root["sn"+i]=ms[cn];
_root["um"+i]=ms[cx];
_root["sc"+i]=ms[cs];
_root["dat"+i]=ms[cd];
}
}else{//读取失败或者数据没有加载完毕
_root.ltd._visible=true;//loading的MC显示
trace("FAI");}
}
function cla(){//翻页前先清空文本的内容
for(i=1;i<6;i++){
_root["sn"+i]="";
_root["um"+i]="";
_root["sc"+i]="";
_root["dat"+i]="";}
}
//禁止UNDEFINED数据显示
function clb(){
for(i=1;i<6;i++){
if(_root["sn"+i]==undefined){
_root["sn"+i]=""};
if(_root["um"+i]==undefined){
_root["um"+i]=""};
if(_root["sc"+i]==undefined){
_root["sc"+i]=""};
if(_root["dat"+i]==undefined){
_root["dat"+i]=""};
}
}
stop();

翻页按钮

前一页

on (release) {
cla();
_root.ltd._visible=true;
var ms=new LoadVars;
//ms.load("http://localhost/msg.asp");
if(_root.num>1){
ms.load("msg.asp?page="+(_root.num-1),0);
}else{
ms.load("msg.asp?page=1",0);
}
ms.onLoad=function(success){
if(success){
_root.ltd._visible=false;
trace("OK");
_root.num=ms.num;
_root.tal=ms.tal;
for(i=1;i<6;i++){
cx="um"+i;
cs="sc"+i;
cd="dat"+i;
cn="sn"+i;
_root["sn"+i]=ms[cn];
_root["um"+i]=ms[cx];
_root["sc"+i]=ms[cs];
_root["dat"+i]=ms[cd];
}
_root.nxt=ms.nxt;
}else{
_root.ltd._visible=true;
trace("FAI");}
}
}

下一页

on (release) {
cla();
_root.ltd._visible=true;
var ms=new LoadVars;
if(_root.num<_root.tal){
ms.load("msg.asp?page="+nxt);
}else{
ms.load("msg.asp?page="+_root.tal);
}
ms.onLoad=function(success){
if(success){
_root.ltd._visible=false;
trace("OK");
_root.num=ms.num;
_root.nxt=ms.nxt;
_root.tal=ms.tal;
for(i=1;i<6;i++){
cx="um"+i;
cs="sc"+i;
cd="dat"+i;
cn="sn"+i;
_root["sn"+i]=ms[cn];
_root["um"+i]=ms[cx];
_root["sc"+i]=ms[cs];
_root["dat"+i]=ms[cd];
}
}else{
_root.ltd._visible=true;
trace("FAI");}
}

}


红色MC的AS

onClipEvent (enterFrame) {
_root.clb();//禁止显示undefined数据显示
}

哎,我不会写教程具体的看原文件吧:
点击浏览该文件

带小游戏的:
http://www.olpsport.com/images/swf/cmmphb.rar
这个是带了个小游戏的测试;LOADING有问题?
http://www.olpsport.com/images/swf/
这个的原文件:
http://www.olpsport.com/images/swf/cmmphb.rar

文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。