欢迎光临
羽柴|鬼铃'blog
QQ:34284682 | 251055853 
技术高级群:  FMS: 71695402  |  游戏开发:48295089 


 

预览模式: 普通 | 列表

本站声明!

flashplayer10.1.53.64 最新版无法连接FMS

今天刚升了flashplayer10.1.53.64 结果FMS的cal客户端,客户端无响应。。。 解决方法:未知 待查中。。

找到问题所在了,新版本FP 取消了对中文代码的解析。。。 像我这样用全中文写程的人 命苦。。。
分类:FMS | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 119
[开源]06年开发的FMS 在线换装聊天室游戏






换装小游戏聊天室.
带客房端及服务端。 06年开发的小游戏,目前开源。可能有很多纰漏。

//=====================================

查看更多...

分类:游戏算法 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 151
今天遇到这样的问题及解决方法如下: 也给各FMS配合AS3开发的人注意
----FMS端-
newClient.call("客户端事件",null,参数1, 参数2,参数3)

---Flash端
AS2:
FmsNc.客户端事件=function(参数1, 参数2,参数3){
}

AS3:
public function 客户端事件(参数1, 参数2,参数3){

查看更多...

分类:AS3 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 136

[附图]用户列表的实现纠正[新手必看]

因为看到有人在群里面讨论用户列表的实现, 虽然一个简单的用户列表。但说法各异,在此就写一个简单的思路教程吧。推荐FMS应用的新手必看

用户列表,相信很多应用都会用到。像FMS经常做的聊天室, 网络游戏都有用户列表。虽然用户列表看似简单,但实现却不简单。 在此我先把错误的思路及方法说下吧

很多新手做用户列表都是用非常简单的方式。 建立一个数组 连入用户时.push这个数组并且把这个数组广播给客户端,断开用户的时候。找到数组中的位置splice掉。 然后又把这个数组广播给客户端。 这个方法虽然能行,但却是大错特错的方法。除非是小应用还可以用下,用这方法别想做大应用。问题在哪?  我下面来分析

问题就出在数据量上面,这样来考虑。如果是一个2000人在线的应用,那这个用户列表就相当于长度2000的数组。如果随便1个人进进出出就相当于广播了2000次左右。如果这个数组记录的仅仅是人名还问题不大,但如果还有其他数据。那可想而知...一进一出就刷2000人的长度2000的数据量,是多么可怕的数据量....相当于发送了2000*2000的数据量

那如何解决呢?就是建立用户列表映射。看以下思路. 同样还是2000人的应用
服务端同样用数组。 当用户登录时只向该用户发送长2000数组(在此分清,是只向登录者这1个人发送并不是向2000人广播这数组)  这样就把用户列表映射到登录者客户端。服务端push后这时候再广播登录者信息(注意,在此指的是广播登录者的单独的单元信息比如用户名而不是广播整个数组。) 客户端在收到这个单独信息的时候也做push。 当用户退出的时候服务端做splice处理,处理完后记录splice的数组指针即可。 然后广播这个指针。客户端同步映射根据这个指针做splice处理。(而不是把整个数组的广播扔给客户端)  这就是整个映射过程。

查看更多...

分类:FMS | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 176
addFrameScript 虽然方便但最大缺点在于调用方法时不能传入参数.
所以推荐用ENTER_FRAME 来取代addFrameScript
//演示源码在最下方可下载.

//----------方法如下----------
package {
    import flash.display.FrameLabel;
    import flash.events.Event;
    public class 帧执行类 {
        public var 对象;
        public var 结束方法:Function;

查看更多...

分类:AS3 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 222

[AS3] addFrameScript 添加至帧标签

今天遇到这样的问题 添到方法至多个动画,但每个动画所需要触发的帧数不是同一个. 然后得用addFrameScript 把方法添加到帧上.但addFrameScript的参数只支持帧数. 这时候就需要用到在相应的帧标签上addFrameScript. 也就是得获取到帧标签所在的帧数

用下面方法:

import flash.display.FrameLabel;
var labels:Array = MC.currentLabels;
for (var i:uint = 0; i < labels.length; i++) {
    var label:FrameLabel = labels;
    trace("frame " + label.frame + ": " + label.name);
}
//这样就能获取到帧标签所在的帧数了. 然后再相应的addFrameScript

查看更多...

分类:AS3 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 189
今天开发时又发现fms的一个Bug. 不支持eval的字符串指向数组. 在flash中同样的代码移值到FMS中就不行了.

如:
a=new object()
a.b=[111,222]
这时候用eval("a.b.0")  FMS就报错了.
当然因为我用到的是动态数组路径,这种情况比较特殊. 一般路径如果是已知的直接用 this["a"]["b"][0]或
a.b[0] 就直接指向了.正因为路径是动态,所以得关联字符串用eval则报错.

解决方法如下:

查看更多...

分类:FMS | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 244