Java跟AS用socket通信
最近在做一个聊天室,后台用Java(其他的我也不懂),其实可以用XMLSocket来做的,也很方便,但我用了Socket,更灵活些。
为了不见乱码,并且方便些,我选择了UTF-8作为字符串编码。
Ok,说下碰到的几个问题。
阅读全文...
ByteArray各方法详解
这段时间在做socket, 当然就用到ByteArray了,O(∩_∩)O~, 写下ByteArray各种方法(API)含义。
objectEncoding: 设置ByteArray读写Object是编码格式, 仅对writeObject,readObject这两个方法有用。
endian:指示多字节数字的最高有效字节位于字节序列的最前面。 一般不用设置, 默认是Endian.BIG_ENDIAN.
阅读全文...
AS 函数重载
二次贝塞尔曲线实例
实在抱歉,是二次贝塞尔曲线,不是一次杯赛儿曲线。o(╯□╰)o
鼠标拖动划线,然后拖动变成曲线
TextField.restrict 文本输入限制详解
获取MovieClip跳帧后的子元件
MC(MovieClip)在做动画播放的时候是很方便的,只要在Flash IDE里画好就能直接播放了,但是如果想要在动画播放的过程中,让其他的元件做一些运行时才能确定的事,那么只是在Flash IDE里画就不能实现了,这时就需要使用AS代码来实现了.
代码实现以上功能基本上有3种实现方式:
阅读全文...Vector.unshift bug已修复
package
{
import flash.display.Sprite;
import flash.system.Capabilities;
/**
* www.litefeel.com
* lite3@qq.com
* @author lite3
*/
public class VectorTest extends Sprite
{
private var list:Vector.<MyClass> = new Vector.<MyClass>();
public function VectorTest()
{
trace(Capabilities.version);
var n:int = 3;
while (n--)
{
//list.length++;
list.unshift(new MyClass());
trace(list);
}
}
}
}
class MyClass{}
输出:
WIN 10,0,22,87
[object MyClass]
[object MyClass],[object MyClass]
[object MyClass],[object MyClass],[object MyClass]
Array Vector 性能测试
想做个对象池,以降低CPU销毁,以前都是用Array做的。
帮助上说flashplayer10的Vector速度要比Array的速度快的多今天特来测试下。
不过测试结果令我大失所望。
- push : Vector慢, Array 快 (可以忽略)
- pop : Vector快, Array 慢 (可以忽略)
这样的结果让我对Vector的性能产生了怀疑,又测试了下Vector的的存取速度。
- 读取: Vector快, Array 慢 (可以忽略)
- 存储: Vector慢, Array 快 (可以忽略)
看来Vector在对Array的性能较量中并不占优势。
只是Vector是单一元素类型的数组,拥有Array所没有的类型检查。
结论:做对象池还是用Vector吧,不管性能了。
下面是测试代码:
阅读全文...
dispatchEvent
有时,有些模块化的东西,要发送事件,如果当然没人侦听它,它却去发送事件不是有点浪费。
有个折中的办法,感谢 tttt 提醒用 willTrigger,willTrigger才能检测事件流里是否有注册相应事件。
注意:不要乱用,因为当事件流的层次多时,willTrigger消耗的时间是dispatchEvent的一多半!
override public function dispatchEvent(event:Event):void
{
if (willTrigger(event.type))
{
super.dispatchEvent(event);
}
}