最近事不多,比较轻快.所以打算写份连载教程.主题嘛...就选用FMS做多人连机的教程吧.
因为以前写过类似的东西.所以FMS连接啊,配置的基础东西我就不写了.直接切入主题.
大家可能记得吧,以前7yue写个一个SharedObject的小球,然后所有人写类似的都是用的小球.
-___- 我这回也是小球.没办法,这东西,不写的话只能转.总不能开篇就转别人的,那多不好 (:
所以呢,会了的就等着[1b]第二篇:FMS实现用户注册[/1b] 不会的就自己看下.
下面是代码:
var sv_uri:String = "rtmp:/tensharp"
var my_nc:NetConnection = new NetConnection ();
my_nc.connect (sv_uri);
my_nc.onStatus = function (thisObj:Object)
{
/*
for (var thisAry in thisObj)
{
trace (thisAry);
}
*/
//这个是我额外加上去的.如果不知道thisObj都有什么属性的话就把注释符删掉自己trace
if (thisObj.code == "NetConnection.Connect.Success")
{
trace ("服务器连接成功.");
}
else
{
ball._visible = false;
trace ("服务器连接失败.");
}
}
var my_rso:SharedObject = SharedObject.getRemote ("cincn.com", my_nc.uri, true);
//在服务器上新建一个名字叫cincn.com的共享文件.
//这里可以自己打开站点目录的sharedObjcet目录看.
my_rso.connect (my_nc);
//连接
my_rso.onSync = function ()
{
ball._x = this.data.bx;
ball._y = this.data.by;
}
/*
重点:
SharedObject.onSync ();
按书上的话来说就是:在onSync中的操作对所有的请求都有影响.
也就是说呢,你的每一步操作,都会通过onSync进行更新.(小球在onSync方法里读坐标,bx和by每有一次更改onSync都会更新一次.)
就比如ball._x = this.data.bx
ball._x = my_rso.data.bx;
在这里我们是读服务器上存储的X坐标,而不是直接从本地读.本地只是把坐标
时时传递到服务器.
*/
_root.onMouseDown = function ()
{
my_rso.data.bx = _xmouse;
my_rso.data.by = _ymouse;
}
/*
本地更新的也是SharedObject.data
*/
[url=http://www.cincn.com/attachments/month_0607/82006713103413.rar]
点击下载此文件[/url]
本文转自:http://www.5uflash.com/flashjiaocheng/Fmsjiaocheng/2269.html