当前位置: 代码迷 >> Web前端 >> FMS多人连机课程:[一] 初步认识SharedObject
  详细解决方案

FMS多人连机课程:[一] 初步认识SharedObject

热度:90   发布时间:2012-11-23 22:54:33.0
FMS多人连机教程:[一] 初步认识SharedObject

最近事不多,比较轻快.所以打算写份连载教程.主题嘛...就选用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