灵动游戏论坛游戏专区【游戏教程】[转帖]FLASH游戏排行镑程序[ASP+ACCESS]

1  /  1  页   1 跳转 查看:1428

标题: [转帖]FLASH游戏排行镑程序[ASP+ACCESS]

[转帖]FLASH游戏排行镑程序[ASP+ACCESS]

先说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
%>

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")
%>

怎么样?够简单吧。

ACCESS数据库结构


[IMG=0,absMiddle]../images/fileType/gif.gif[/IMG]此主题相关图片
[IMGA=0,absMiddle]../images/upload/2005/02/26/142729.gif[/IMGA]

————————————————————————

以下是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;
现在是模拟,所以分数是随机生成,相关图片

[IMG=0,absMiddle]../images/fileType/gif.gif[/IMG]此主题相关图片
[IMGA=0,absMiddle]../images/upload/2005/02/26/144412.gif[/IMGA]


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


————————————————————

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


显示数据页面


[IMG=0,absMiddle]../images/fileType/gif.gif[/IMG]此主题相关图片
[IMGA=0,absMiddle]../images/upload/2005/02/26/145524.gif[/IMGA]




——————————————————————————

翻页按钮

前一页
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数据显示
}


哎,我不会写教程具体的看原文件吧:

[IMG=0,absMiddle]../images/fileType/rar.gif[/IMG]此主题相关文件 150419.rar
引用
 

re:顶帖啊

引用
 

re:我的币不够!

引用
 

re:好帖一般需要点币

引用
 

re:现在不需币了

引用
 

re:变量3

引用
 

re:怎么不能下?

引用
 

re:仅供参考

引用
 
1  /  1  页   1 跳转

版权所有 灵动原创FLASH游戏中心   Sitemap

Powered by Discuz!NT 2.0.1214    Copyright © 2001-2008 Comsenz Inc.
Processed in 0.015625 second(s) , 4 queries. 苏ICP备05047165号
返顶部