« テンプレートで変数を使う | メイン | Progression に触れてみる »

2008年3月21日

[as2] AS2版Dictionaryクラス

AS3を使っててAS2に戻ると、何かと不便に感じることが多いです。
AS3とAS2に互換性が無いのが、今、一番厄介に感じます。
いずれ完全にAS3に移行したときのことを考えて、少しAS2にAS3らしさを取り入れたほうがいいのかな?なんて思ったりもしますが、それが正しいのか間違ってるのかはよくわかりません。
ただAS3からAS2にクラスを逆移植することがあるのですが、Eventクラスとか、デフォルトのクラスでよく使うものはAS2にもほしい。
誰か作ってないかなあ。と思う今日この頃。
あと、個人的にProxyクラスがAS2にもほしいけど実装の仕方がわからない。

flash.utils.Dictionary
import flash.utils.Dictionary;

var dic:Dictionary = new Dictionary();
var a = {};
var b = {};
var c = {};

dic.add( a , 1 );
dic.add( b , 2 );
dic.add( c , b );

trace("length : "+dic.length);// output 3
trace("object a : "+dic.value(a));// output 1
trace("object b : "+dic.value(dic.value(c)));// output 2
dic.del(c);
trace("length : "+dic.length);// output 2
trace("has a : "+dic.has(a));// output true
trace("has b : "+dic.has(b));// output true
trace("has c : "+dic.has(c));// output false

トラックバック(0)

このブログ記事を参照しているブログ一覧: AS2版Dictionaryクラス

このブログ記事に対するトラックバックURL: http://system.seyself.com/mt-tb.cgi/486

コメント(2)

ダダ :

いつもこちらのサイトで勉強させていただいています。
この記事に関するコメントではないのですが、該当記事がなかったので
こちらにコメントさせていただきます。

http://code.google.com/p/seyself/source/browse/trunk/as2/flash7/geom/Rectangle.as

GoogleCodeで公開されている Flash7用 Rectangleクラスなのですが、
containsRectangle()メソッドに一ヶ所記述ミスと思われるものが
ありましたのでご報告させていただきます。

f = ( this.y <= rw && this.y + this.height >= rw && f );

↑なのですが、正しくは↓ではないでしょうか?

f = ( this.x <= rw && this.x + this.width >= rw && f );

もしすでに修正されていましたら申し訳ありません。

このクラスがあるとないとでは効率が大きく変わってくるので大変重宝しております。
それでは失礼いたします。

michi :

あ、ホントですね。
行を複製してそのままにしてしまったっぽいですね。
ご報告ありがとうございます。

ちなみにRectangleはこちらの記事のものです。
http://blog.seyself.com/2008/01/post_2008010920.html

コメントする


画像の中に見える文字を入力してください。

しばらく時間が経過すると、システム内部と表示されている文字内容に食い違いが発生するようなので、
投稿する前にページをリロードすることをお勧めします。
リロードしてもフォームの内容は維持されます。