トラックバックはありません。TrackBack URL:http://www.be-interactive.org/trackback.php?id=404
トラックバックはありません。TrackBack URL:http://www.be-interactive.org/trackback.php?id=404
先週からちらほらと話題になっているのですが、ActionScript の元となっている言語仕様である、ECMAScript の新しいバージョンとして仕様が策定されてきた ECMAScript 4 (ECMA-262 Edition 4) が、白紙に戻りました。ECMAScript 4 の仕様策定途中に、4 とは独立して ECMAScript 3.1 (ECMA-262 Edition 3.1) に仕様策定が開始されたりとカオスな状況になっていたのですが、今後は ECMAScript 3.1 の方に統一して、ECMAScript Harmony というコードネームで新たに仕様策定を進めていくようです。 ActionScript は、Flash 5 ではじめて、ActionScript 1.0 として搭載されました (それ以前は「アクション」)。ActionScript 1.0 は Java
何を言っているのか分からないと思いますが、次のAIRアプリケーションをインストールして実行してみてください。 http://www.libspark.org/svn/as3/swfassist/trunk/samples/swfplayer/bin/SWFPlayer.air 実行するとウィンドウが現れるので、そこに何かアニメ的なSWF(ex: 魔理沙は大変なものを〜)をドラッグ&ドロップしてください。すると、しばらくした後、次のような感じでムービーの再生が始まります。 色々面倒なので線だけですが、全てActionScriptで描画しています。内部的にはswfassistを使っています。ソースはこちらにありますので、興味がある人はどうぞ。
あまりにもひっそりと行われ過ぎていて、KLabさん経由で知ったのですが、FlexSDKが正式にオープンソースになっており、Adobe Open Sourceで見ることが出来るようになっています。 具体的なソースはopensource/flex/sdk/trunk以下に一式どーんと大放出されています。おじちゃん涎が止まらないよ。じゅるじゅる。気になるコンパイラのコードとかどこにあるのかなーと探してみると、trunk/modules以下に色々あって、コンパイラの核となるコードはascの中に入ってます。言語はjavaです。ちなみに、Moutain View Compiler Companyという会社が書いてるみたいです。 これらのコードはMozilla Public Licenseの下で公開されているので、これに従う限り自由に使えるということになります。実は、ASコンパイラやSWF生成の他に
Home > "Japanese ASer intercepts Colin" was very exciting!! // I was amazed that Colin was good at Japanese. I think I should be more good at English. So, I try to write this entry in English. I'm sorry if I wrote strange English. At that time, please tell me. (This nice photo was taken by id:takesako) Today, I took part in the event called "Japanese ASer intercepts Colin". In this event, some J
既出な気もしないでもないのですが。BitmapDataを思い通りの形にくりぬく、というのをカンタンにやる方法です。 コードは次の通り。 source.copyChannel(mask, mask.rect, new Point(0, 0), BitmapDataChannel.ALPHA, BitmapDataChannel.ALPHA); source、mask共にtransparent = trueなBitmapDataです。sourceには元となる画像を予め描画しておきます。そして、maskの方は0x00000000で塗りつぶした後、くりぬきたい形(例えば丸とか星とか)をdrawしておきます。これで上のコードを実行すると、maskのアルファチャネル値が全てsourceの方にコピーされるので、うまいことmaskの形にくりぬける訳です。sourceが何度も更新される場合でも、mas
なんか技術系の話題は久々? 今日ご紹介するのはBitmapData.lock/unlockメソッドですが、皆さんご存知でしょうか。ドキュメントを見ると、 この BitmapData オブジェクトが変更されたときに、BitmapData オブジェクトを参照するすべてのオブジェクト (たとえば Bitmap オブジェクト) が更新されないように、イメージをロックします。パフォーマンスを向上させるには、setPixel() メソッドまたは setPixel32() メソッドを何度も呼び出す前後に、このメソッドを unlock() メソッドとともに使用してください。 と書いてあります。 多分ほとんどの人がBitmapDataを表示するために、addChild(new Bitmap(bitmapData))とかやってると思いますが、実はsetPixelやsetPixelsをすると、画面の表示
fladdictのTakaさんが、「AVM2にAVM1のSWFを強引にロードするやり方」というのを紹介しているので、これが一体何をしているのか勝手に解説。 まず、 ・ByteArrayの[3]番目のインデックスを9に書き換える。 ByteArrayで3番目のインデックス、つまり4バイト目の値は、SWFファイルのバージョン番号が入っています。恐らく、Flash8で書き出したなら「8」が入っているはずです。AVM2対応なのはバージョン9のSWFからなので、このバージョン番号の部分を「9」に書き換えます。 次に、 ・ByteArrayのインデックス20~30あたりのどっかに、01, 00, 44, 11, 00 という順番にintが並んでいる場所があるので見つける。 ですが、最初の 01, 00 の部分(20~21バイト目固定)は、フレーム数です。メインタイムラインのフレーム数が1の
今日は久々にマジメなActionScriptのオハナシです。 ActionScriptというのは基本的に計算が遅い部類に入ります。この計算の遅さというのはなかなかネックなものです。 なので、ループひとつとっても少しでも処理を早く終わらせることができるなら是非最適化しておきたいものです。 「そんなちょっとの時間なんて大した問題じゃないだろ。それよりもっと大事な事が(ry」 という人もいるかもしれませんが、リアルタイム性を求められるゲームなんかにおいては、毎フレームの処理に1nsecも無駄に時間を食わせたくないわけです。(まあ、確かにプログラムの作りが悪いとかそれ以前の問題な場合もあるわけですが...) そこで、今回はFlashのループ処理についてちょっと突っ込んで考えて見ましょう。 尚、今回の記事の元ネタはDGCAなどで有名なSYNさんのサイトの中の、 ループの最適化 [とって
テストも終わり、ActionScript三昧な日々、いかがお過ごしでしょうか。yossyです。 先日、ウチにNintendoDSが来まして(俺が使うんじゃないですけど)、ちょっと触らせて貰いました。「脳を鍛える大人のDSトレーニング」ってソフトだったんですが、うおー、これペンで書いて答えるのか!手書き文字認識か!いまどきのゲームはそれぐらい出来なきゃいかんのか!これはFlashでもやるしかねぇ! と、いうワケで作ってみた。 オープンソースの手書き文字認識エンジン「巴」をベースに、少し改変して認識エンジンと辞書をFlashに移植。ショボショボ学習機能も追加してみました。速度の割に、そこそこの精度で認識してくれます。 巴がLGPLなので、一応これもLGPLということで。ソースはこちら。AS2.0用のクラス(製作中のゲーム用フレームワーク「Spark」のパッケージとして提供)と、使い方の
前のエントリの続きです。 で、たまたま見つけたんですが、どうやらFirefoxでは、JavaScript1.5辺りから、Array.forEachメソッドという、瓜二つなメソッドが実装されてるぽいです。世の中考えることは皆同じですネ... ただ、とりあえずまだ書くことがあるので書いておきます(また誰かが先を越してるかもしれないけど・・)。 まず、continueについて。通常のループでは、continueを使うと残りの処理を飛ばして、次のループ処理をします。 for(var i:Number=0; i<list.length; i++) { var item = list[i]; if(item < 5) continue; trace(item); } 上の例では、要素が5未満であれば、traceをせずにスキップをします。 では、これをeachに適用するとどうなるで
知らないと損をするActionScript3.0の新文法をまとめて紹介します。 複数の変数の出力が楽に:trace 引数に変数を複数渡すと、自動的にスペースで区切って表示をしてくれます。 var a:int = 0; var b:String = 'hgoe'; trace(a, b); // Output: 0 hoge 要素の巡回が楽チン:for each 今まで、配列の要素を巡回するのは、次のようにするのがセオリーでした。 for (var i:Number = 0; i < list.length; ++I) { trace(list[i]); } しかし、もうこんな面倒な事は必要ありません。次のように書けば、list内の要素がひとつずつelementに代入されてループします。 for each (var element:Object in list) {
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く