话说~去年暑假的时候无聊,模仿的做了一个Mario的单机版,功能上包括算分数,倒计时,音乐,人物的左右移动,跳跃,输赢判定,吃金币判定,全都做出了。然后就萌发了做一个多人联机的Mario Online了。
当时想着新进入游戏的玩家,继承一个Mario的类,来达到理论上无数人联机的游戏,但是最后还是决定第一次做联机游戏,还是稳妥点做个双人的好了。
暑假最后一周完成的版本包含 用户注册,简易聊天,人物左右移动,双人移动动作同步功能。 国庆后的一周完善了 聊天功能。之后就什么都没做了。
一直拖到寒假,嘛,还是把它做完吧。
目前手头上的后台是用asp的。“搞成php的吧!”,抱着这个想法于是开始了研究。
首先asp和php的区别,在asp中,可以使用 Application 来让服务器暂时保存数据,而php没有类似的Application. 之前的asp后台flash聊天室就是用到Application. 经过一番查阅资料,php没有类似功能,据说是为了节省服务器资源。但是这样的话,php只能通过小型数据库,比如文本文件来存放数据,这样真的比Application更节省资源?我抱有疑问。
目前打算使用的用户信息注册数据库为Access,同步信息数据库为文本文件 博客虽然用的是mysql,但是不想平时的project把主数据库搞乱,还是独立出来吧。
研究了一下php链接access数据库的方法为:
Open($connstr);
$rs = @new COM("ADODB.RecordSet") or die ("数据表创建失败");
$rs->Open("select * from ondata",$conn,1,1);
while(!$rs->eof){
echo $rs->Fields['id'];
echo ":";
echo $rs->Fields['username'];
echo ":";
echo $rs->Fields['userpassword'];
echo "
";
$rs->Movenext();
}
$rs->close();
$conn->close();
?>
输出的结果为 序号:用户名:密码
by the way,如果用文本文件来同步双人联机数据(经过测试,半秒内可以读取文本文件3000次,虽然比起Socket套字节有延迟,但还可以忍受),可以采用 Cookie来做站内游戏翻页后,游戏可以从中断的地方继续开始呢。
剩下的地图,敌人,最终boss明天再开工吧。好晚了。祝自己晚安!