Posts Tagged actionscript3.0

Leopardにrascut入れたらトラブった

2009.02.13

メインで使ってたPowerBook のHDDのb-treeがスっ飛んじゃったんで、これを期にサブで使ってたMacBookProに環境移行中。
んで、rascutがまともに動かないトラブルに遭遇したんでメモっとく。

環境は、OSX10.5.6。
いきなりgemが使えるので、普通にインストール。

sudo gem install rascut --include-dependencies

これだと/Library/Ruby/Gems/1.8/gems/rascut-0.1.3/にインストールされる。

このままだと不具合が起きるので、
下記のページを参考に各ファイルを修正

rascutが動かない。 – 俺はまだ死んではいない
Flex [てきとうにめも]

■/Library/Ruby/Gems/1.8/gems/rascut-0.1.3/lib/rascut/fcsh_wrapper.rb

    @@ -60,10 +60,10 @@
    def process
    unless @process
    - orig_lang = ENV['LANG']
    - ENV['LANG'] = 'C' # for flex3 sdk beta locale
    + orig_java_options = ENV['_JAVA_OPTIONS']
    + ENV['_JAVA_OPTIONS'] = '-Duser.language=en' # for flex3 sdk beta locale
    @process = IO.popen(@config[:fcsh_cmd] + ' 2>&1', 'r+') unless @process
    - ENV['LANG'] = orig_lang
    + ENV['_JAVA_OPTIONS'] = orig_java_options
    end
    @process
    end

■/Library/Ruby/Gems/1.8/gems/rascut-0.1.3/lib/rascut/httpd.rb

   @path = env["PATH_INFO"] == '/' ? @root : F.join(@root, env['PATH_INFO'])
   ↓
   @path = env["PATH_INFO"].empty? || env["PATH_INFO"] == '/' ? @root : F.join(@root, env['PATH_INFO'])

mime-typesが足りないようなので、インストールして

sudo gem install mime-types

/Library/Ruby/Gems/1.8/gems/rascut-0.1.3/lib/rascut/httpd.rbを追加修正

require'mime/types' を追記

"Content-Type"   => MIME_TYPES[ext] || "text/plain",
↓
"Content-Type"   => MIME::Types.type_for(@path).to_s || "text/plain",

てとこまでで、ようやくrascutがサーバーモードで起動できた。
ところが、.asファイルを編集→保存しても、ブラウザをリロードしてくれなかったりいろいろおかしい。

んで、困ってたとこでRUNELEAF_LOGさんの記事を発見。
rack のバージョンが問題とのことで、

sudo /usr/bin/gem install -v 0.3.0 rack
sudo /usr/bin/gem uninstall -v 0.9.1 rack

にて解決した。やれやれだぜ。

追記
コメント欄で、os0x さんに正しい解決策を伝授していただきました。
なんという無駄エントリー。やれやれなのはオレ自身だぜ。

Froce55ingをFlexSDK3で

2008.07.11

たまには3D以外のこともやってみるべーということで、NUTSUさん作の、Processing気分を味わうAS3.0ライブリラリ「Frocessing」で遊んでみた。

nutsu/Frocessing – Spark project

svnリポジトリに上がってるサンプルが .flaファイルしか無いので、FlexSDKで扱う方法を模索。とりあえず F5MovieClip2DとかF5MovieClip3Dを継承しとけばいいみたいだということにオレの中で結論づいたので、なんぞ作ってみる。

で、これまたP5ライクな「NodeBox」のサンプルを移植して若干イジったのが下記。
Hello Froce55ing(要:FlashPlayer9)

package
{
    import flash.display.*;
    import frocessing.display.F5MovieClip2D;
 
    public class main extends F5MovieClip2D
    {
        private var count:int;
 
        public function main()
        {
            stage.frameRate = 30;
            stage.align = StageAlign.TOP_LEFT;
            stage.scaleMode = StageScaleMode.NO_SCALE;
 
            super();
            QBest();
        }
 
        public function draw():void
        {
            clear();
            background(255,255,255);
 
            count++;
            translate(fg.width/2, fg.height/2);
            fill(0, 153, 230, 0.1);
            stroke(0, 153, 230, 0.4);
            strokeWeight(0);
 
            for (var i:int = 0; i < 150; i++)
            {
                var x:Number = random(fg.width/2, -fg.width/2) * cos(radians(count));
                var y:Number = random(fg.height/2, -fg.height/2) * cos(radians(count));
                var r:Number = cos(radians(count)) * 50;
                circle(x,y,r);
            }
        }
 
    }
}

ステージプロパティ設定してるあたりがかなりビミョーだけど、こんな感じでいいのかなぁ?FlashIDEのドキュメントクラス設定と同等のことってFlexSDKで出来るのかしら。このあたり激しく勉強不足でワカンネー。けど動いたからまぁいいや(えー)

もっとP5っぽいものを、と思ってストレンジアトラクタ系ネタも作ってみたものの、lineで描画しまくったら予想通りのブラクラになっちゃったんで静止画のみで。

setBmpMode()を使えばBitmapが描画対象になる…のか?軽くする方法が解かるまでひとまず保留っと。

FlexSDK3 + Rascut + mi という修行僧のような環境でもそこそこ楽しめた。
でもまぁ素直にFlashIDEつかってフレームスクリプト書いたほうがシンプルに書けて、よりP5気分に浸れるのかも。ただこれ、慣れちゃうとAS3.0本来のシンタックス忘れるわ、間違いなく確実にオレは(笑)

Flex2SDKの環境構築メモ

2007.03.20

どーにも忘れそうなので、OSXでFlex2SDK環境を構築する際の手順をメモっとく。
http://www.adobe.com/jp/products/flex/productinfo/buy/
から、「無償ダウンロード」項目の「Flex 2 SDK」を選ぶ。
AdobeIDの認証ページに移動するので、ログインする。(要Adobeメンバーシップ登録)
「Flex 2 SDK (無償)と日本語パック」項目の、Flex SDKとFlex Language Packの2つをダウンロードする。

ダウンロードし終わった「flex_sdk_2.zip(SDK本体)」を展開してフォルダ名を「flex_sdk_2」とかにしとく。「flex_sdk_2_ja.zip(日本語ランゲージパック)」を「flex_sdk_2」フォルダに突っ込んで、ターミナル起動。「flex_sdk_2」フォルダに移動して、

%unzip flex_sdk_2_ja.zip

展開し終えたらflex_sdk_2_ja.zipは消すなり、別の場所に退避するなり。

これで必要なファイルの揃った「flex_sdk_2」が出来上がり。このフォルダごと適当な場所に置いておく。オレの場合は、「/Developer/SDKs/」に配置した。あとは、flex_sdk_2/bin/にPATHを通しておく。

.zshrcに以下を追

PATH=${PATH}:/Developer/SDKs/flex_sdk_2/bin

デフォルトシェルのbashを使うなら、

export PATH=$PATH:/Developer/SDKs/flex_sdk_2/bin

を追記かしら?

これで、コンパイラである「mxmlc」がターミナルから起動できるはず。
ただ、日本語ランゲージパックをインストールした場合、mxmlcのメッセージが日本語で表示されるんだけどただインストールしただけだと、このメッセージが化ける。回避法として、flex_sdk_2/bin/にある、mxmlcをテキストエディタで開いて、

java $VMARGS -jar $FLEX_HOME/lib/mxmlc.jar $*

java -Dfile.encoding=UTF8 $VMARGS -jar $FLEX_HOME/lib/mxmlc.jar $*

のように書き換える。OSX標準搭載のJAVAがshift_jis出力してるのが原因だそうな。

これで環境構築はひとまずおしまい。ターミナルから、

%mxmlc hoge.as

とかやればswfファイルを生成してくれる。mxmlcのコンパイルオプションは、この解説が参考になる。また、Flex Compiler Shellを併用すれば、さらに快適なコンパイルライフが送れる。

Xcodeを使って開発することも可能とのことなので、お金をかけなくてもある程度効率的な開発環境が作れそうな感じ。