the limit in flash

最近在做一个AS2项目时发现一个问题,当数字太大的时候,无法转为字串.AS2中,当一个数字大于或等于0x80000000(十进制为:2147483648),就无法用Number.toString(radix)方法来把数字转为字串.除了radix=10,其它任何数字都不行.在AS3中的int.MAX_VALUE值为0x7FFFFFFF(十进制:2147483647)也就是AS2中可以处理转为字串的最大值.

AS2中,如果用0x表示16进制数字时,最大可表示的数字为0xFFFFFFFF(十进制为:4294967295),如果0x跟的位数超过8位,只接收后8位数字,对于8位之前的数字会被忽略.如果需要用十六进制表示超过8位数,用字符串表示,然后用parseInt(value, 16)方法转为十进制.
上述所说的限制,只是在AS2中存在,在AS3中无此限制.


除了上边所说的限制外,flash中有着各种限制,比如:

  • for或while循环中的15秒限制.
  • LocalConnection传递的参数数据大小不能超过40K
  • AS文件不能大于32K*
  • function长度不能超过500行*
  • 图片长宽不能超过2880px,在flash10中最大显示 8192px,但总像素不能超过16,777,216,因此,当长为8192px时,高就只能为2048px.超出部分不会显示.
  • movieclip总帧数不能超过16000帧.
  • 通过属性面板可以修改影片帧率为0.01到120帧,在AS3中,通过代码改stage.frameRate最大可以到1000fps

*只在AS2中存在此问题,具体参考http://kb2.adobe.com/cps/195/tn_19520.html


已发布

分类

来自

标签:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注