Kingwolves

Impossible is nothing ...

星期六, 五月 26, 2007

GIF Animation Encoding for ActionScript 3

好早以前好像就看见过一个Gif Animatino for AS3 的东西了,记得当时还使用了一下,但是需要$50。
今天无意中在 ByteArray.org
发出了这个Gif Animation Encoding,使用了一下,还蛮不错,上面有些例子,这个东西是开源的,现在暂时还没公开源代码,相信迟一点可以了。

在他的上面发现了许多有趣的开源项目。
包括
1.WiiFlash
2.MouseGesture in AS3 (Flash 中鼠标识别)
3.Roster (Bitmap 绘图API)
ect....
具体请看:http://www.bytearray.org/

Adobe 发布 Flex 2.0.1 Hotfix 2 补丁...

今天早上在 Adobe 官方看到 Flex 2.0.1 Hotfix 2 的补丁包,主要修复了一些Bug,但对于已经安装过LiveCycle® Data Services ES 2.5 的用户不需要再安装了,详见请见: http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=kb401825

顺便在 Alistair McLeod(About Cairngorm) 的Bolg中看到,安装此更新包后,不能正常编绎你的Cairngorm程序,你需要把fds.swc加了入你的classpath路径下才行。不然会出现如下错误:
1046: Type was not found or was not a compile-time constant: Consumer.

详细请查看这里:
Flex 2.0.1 Hotfix 2 and Cairngorm

星期二, 五月 22, 2007

MySQL for AS3

早在几个星期前 maclema 就在他的 Blog 公布了一个MySql for AS3的驱动程序,这就意味着通过Flash/Flex可以直接连接MySql数据库了.一直没有时间测试使用,今天测试了一下,不错.
它的原理是通过Socket来实现的,与MySql建立Tcp连接,根据协议发送相关指令来现实数据通信.如果要放在Web服务器上访问MySql,当然要放入crossdomain.xml确定才行.不过在本地或者使用Apollo就不需要了.下面写了个简单的例子.
Code:
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import com.maclema.mysql.events.ResultsEvent;
import com.maclema.mysql.ResultSet;
import mx.rpc.events.ResultEvent;
import com.maclema.mysql.Statement;
import com.maclema.mysql.events.SQLErrorEvent;
import com.maclema.mysql.Connection;
import com.maclema.mysql.crypto.PlainTextScrambler;

private var mySqlconnection: Connection;
[Bindable]
private var userList: ArrayCollection;

private function connection(): void
{
var scrambler: PlainTextScrambler = new PlainTextScrambler("123456");
mySqlconnection = new Connection("127.0.0.1", 3306, "root", scrambler, "test");

mySqlconnection.addEventListener(Event.CONNECT, onConnectionHandle);
mySqlconnection.addEventListener(SQLErrorEvent.SQL_ERROR, onErrorHandle);
mySqlconnection.connect();
}

private function onConnectionHandle(event: Event): void
{
var st: Statement = mySqlconnection.createStatement();
//监听查询返回事件
st.addEventListener(ResultsEvent.RESULTS, onResultHandle);
st.executeQuery("select * from test;");
}

private function onResultHandle(event: ResultsEvent): void
{
var st: Statement = Statement(event.target);
var resultSet: ResultSet = event.resultSet;
while (resultSet.next()){
//返回数据的列表
userList = resultSet.getRows();
}
mySqlconnection.disconnect();
}

private function onErrorHandle(event: SQLErrorEvent): void
{
var st: Statement = Statement(event.target);
Alert.show("error message: \n" + event.text); mySqlconnection.disconnect();
}


详细请见: http://maclema.com/assql/