这是一个经典的flash FMS例子,就是一个swf里,如果拖动了小球,在第二个swf文件里的小球也跟着移动,相信会FMS都看过这个官方给出的例子吧。 先贴那个代码: var nc:NetConnection = new NetConnection(); var so:SharedObject; nc.addEventListener(Ne... 这是一个经典的flash FMS例子,就是一个swf里,如果拖动了小球,在第二个swf文件里的小球也跟着移动,相信会FMS都看过这个官方给出的例子吧。
先贴那个代码:
var nc:NetConnection = new NetConnection();
var so:SharedObject;
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
// sharedBall是舞台上的一个小球实例
sharedBall.addEventListener(MouseEvent.MOUSE_DOWN, pickup);
sharedBall.addEventListener(MouseEvent.MOUSE_UP, place);
sharedBall.addEventListener(MouseEvent.MOUSE_MOVE, moveIt);
sharedBall.addEventListener(MouseEvent.MOUSE_OVER,mouseOverHandler);
sharedBall.addEventListener(MouseEvent.MOUSE_OUT,mouseOutHandler);
function mouseOverHandler(e:MouseEvent)
{
Mouse.cursor = MouseCursor.HAND;
}
function mouseOutHandler(e:MouseEvent)
{
Mouse.cursor = MouseCursor.ARROW;
}
nc.connect("rtmp://10.3.52.35/SharedBall");
//连接到FMS;
function netStatusHandler(e:NetStatusEvent)
{
switch (e.info.code)
{
case "NetConnection.Connect.Success" :
//trace("Congratulations! you"re connected");
so = SharedObject.getRemote("ballPosition",nc.uri,false);
so.connect(nc);
so.addEventListener(SyncEvent.SYNC, syncHandler);
break;
default :
break;
}
}
function pickup(e:MouseEvent):void
{
e.target.startDrag();
}
function place(e:MouseEvent):void
{
e.target.stopDrag();
}
function moveIt( e:MouseEvent ):void
{
if (so != null)
{
//移动时,修改共享对象so的属性值
so.setProperty("x", sharedBall.x);
so.setProperty("y", sharedBall.y);
}
}
function syncHandler(e:SyncEvent):void
{
//so有一个对象data,用来保存用户设置的属性值
trace(so.data.x);
trace(so.data.y);
//程序首次进入时,共享对象还没有值,所以要判断设置初始值
if (so.data.x == undefined || so.data.y == undefined)
{
sharedBall.x = 50;
sharedBall.y = 50;
}
else
{
sharedBall.x = so.data.x;
sharedBall.y = so.data.y;
}
}这个sharedBall 是个小球的影片剪辑。上面的IP是一个安装了FMS的电脑的IP地址,其他的如服务端的代码没有。只有这个客户端的代码。
问题是:在本地的测试发现能连接到服务器,就是在这个IP的电脑上。拖动一个swf里的小球,其他的swf跟着一起运动(在同一台电脑上)。但是如果把这个swf文件发过其它电脑,就不能连接到这个服务器。。。
想问的事,如果要远程连接这个IP的FMS服务器,想在其它电脑控制本台电脑的swf里的小球,这上面的代码有错嚒?还需要怎么改?要添加服务器端代码嚒?为什么上面的代码和其他的电脑就链接不上。。。
如果能解决答案的,悬赏分在加到300分。。。(本人以前经常帮人家回答问题,所以悬赏分很多,特殊情况还可以再追加。。)谢谢大家了。。。
全部评论
这个代代码写的没错,错的只是你没在局域网里连接。在外网要路由器的~~~
我也在找fms4的vod视频点播例子,发现国内网上的资源真的很少,一些教程说的很不完全,新手弄不明白,10个rtmp连接和50个rtmfp连接是多还是少呢,百度好几天没搞定
有明白的,或有fms4 sn的,到连接http://zhidao.baidu.com/question/195248725.html?si=5
可用人民币交换
如果你要在互联网上进行连接,那你的路由器和防火墙要开放端口。你可以在局域网试试,如果是成功则说明是你的路由器没有设置好!!!
把分给我吧。。。
您可能感兴趣的社区主题
评论
选购仪器 上yiqi.com
仪器网络推广
品牌网上传播
长按识别二维码查看信息详情