欢迎光临
羽柴|鬼铃'blog
QQ:34284682 | 251055853
技术高级群: FMS: 71695402 | 游戏开发:48295089
关于FMS广播broadcastMSG致死问题纠正
作者:admin 日期:2010-02-16
前段时间有人向我问起FMS中的 broadcastMSG,一直认为是bug。还找来了网上的贴子说其他人也认为是bug。但我不这样认为,那是在误导。我平时应用广播都是几百线程都没发现有问题过。于是又写了一个简单的测试broadcastMSG的实例,用服务器同时广播万条压测正常。
当然如果用 broadcastMSG去广播NC,那肯定挂。那本来就是错误的应用方法。不光是用broadcastMSG如果用单call也是很占资源。所以在编写代码时应该考虑什么数据该发,什么数据不该发.而不是为了一个变量而把整个obj或数组发出。
测试程序下载:
点击下载此文件
当然如果用 broadcastMSG去广播NC,那肯定挂。那本来就是错误的应用方法。不光是用broadcastMSG如果用单call也是很占资源。所以在编写代码时应该考虑什么数据该发,什么数据不该发.而不是为了一个变量而把整个obj或数组发出。
测试程序下载:
点击下载此文件
神奇的AS2 组件焦点
作者:admin 日期:2009-07-24
跨层级加载时 相对路径的问题
作者:admin 日期:2009-07-15
循环的优化
作者:admin 日期:2009-06-27
//在写程的时候遇到较大较多数数据用循环处理时,注意优化.做了这样一个测试.
特别是针对数组,我们经常见到 for(var i=0;i<xxx.length;i++)这样的方法.
当然如果该数组长度小,套用的循环层级不深次数少时可以用这样的方法.而遇到数量多时推荐用个变量来存放.
var iLength = 数组.length;
for (var i = 0; i<iLength; i++) {
}
这样的方法可以大大优化代码运算可用我下面的测试代码可以看出,特别是针对服务端的运算,更是推荐.
不要小看那么的几毫秒,但针对的用户运算成千上万次运算时就知道优化的重要性了
(注意:此方法只限用于在循环中数组长度不改变的前提下.)
测试数组 = new Array(10000);
特别是针对数组,我们经常见到 for(var i=0;i<xxx.length;i++)这样的方法.
当然如果该数组长度小,套用的循环层级不深次数少时可以用这样的方法.而遇到数量多时推荐用个变量来存放.
var iLength = 数组.length;
for (var i = 0; i<iLength; i++) {
}
这样的方法可以大大优化代码运算可用我下面的测试代码可以看出,特别是针对服务端的运算,更是推荐.
不要小看那么的几毫秒,但针对的用户运算成千上万次运算时就知道优化的重要性了
(注意:此方法只限用于在循环中数组长度不改变的前提下.)
测试数组 = new Array(10000);
五子棋算法 + 五子棋AI 估价算法(含源码)
作者:admin 日期:2009-06-01
Flash Media Server_2 中文帮助
作者:admin 日期:2009-05-25
骰子游戏根据总数随机显示骰子值[反算法]
作者:admin 日期:2009-05-01
在开发网络版关于 1-2颗骰子游戏过程中,经常会出现这样的情况。服务端随机取了骰子的总数,在客户端得根据这个骰子总数随机分配。1颗骰子当然就没必要了。 主要是2颗骰子
比如: 服务端发来骰子和: 8点 客户端的2颗骰子就要随机显示, 有可能1,7 2,6 3,5 4,4 5,3 6,2 7,1 这样的结果。现在把算法列出来。
//==============算法如下====================
function 计算骰子值(总值, 骰子数) {
var 骰子值 = new Array();
if (骰子数 == 1) {
骰子值 = [总值, 0];
} else if (骰子数 == 2) {
if (总值>6) {
var 随机最小值 = 总值-6;
比如: 服务端发来骰子和: 8点 客户端的2颗骰子就要随机显示, 有可能1,7 2,6 3,5 4,4 5,3 6,2 7,1 这样的结果。现在把算法列出来。
//==============算法如下====================
function 计算骰子值(总值, 骰子数) {
var 骰子值 = new Array();
if (骰子数 == 1) {
骰子值 = [总值, 0];
} else if (骰子数 == 2) {
if (总值>6) {
var 随机最小值 = 总值-6;
AS2中神奇的setInterval
作者:admin 日期:2009-05-01
AS2中的setInterval计时执行方法经过多次使用发现问题却真多.并且在帮助上也没有注明。全靠实践中才发现
相信很多人开发中也遇到同样setInterval不好使的情况吧。
经常出现的肯定就以下2种情况
1 明明已经clearInterval的怎么却还执行
2 如果是在子MC中使用了 setInterval 如果unloadClip这个MC 怎么还会执行setInterval 中的事件。
经过多次实践终于解决了以上2问题。方法如下:
1 明明已经clearInterval的怎么却还执行
出现原因:因为在未执行clearInterval时如果又再执行一次 index=setInterval()那此时index不会被复盖,而是却生出另一个对应index的序号。这时候用trace(index)就发现了, 每执行一次index=setInterval() index就会递增1.
解决方法:先初始一个index=-1 在每执行index=setInterval()前先执行一次clearInterval.如果中间需要中断时在调用的函数中根据情况执行clearInterval即可
相信很多人开发中也遇到同样setInterval不好使的情况吧。
经常出现的肯定就以下2种情况
1 明明已经clearInterval的怎么却还执行
2 如果是在子MC中使用了 setInterval 如果unloadClip这个MC 怎么还会执行setInterval 中的事件。
经过多次实践终于解决了以上2问题。方法如下:
1 明明已经clearInterval的怎么却还执行
出现原因:因为在未执行clearInterval时如果又再执行一次 index=setInterval()那此时index不会被复盖,而是却生出另一个对应index的序号。这时候用trace(index)就发现了, 每执行一次index=setInterval() index就会递增1.
解决方法:先初始一个index=-1 在每执行index=setInterval()前先执行一次clearInterval.如果中间需要中断时在调用的函数中根据情况执行clearInterval即可







