私の rascut のインストール手順
まさか,補足していただけるとは思ってませんでした(しかも変なタイトルでトラックバックを送ってしまってすみません…).
作業環境は Windows2000 + Ruby 1.8.5-p12 + cmd.exe です.Ruby のバージョン上げ忘れてました^^;
記憶を頼りになのですが,私の rascut のインストール手順を極力細かく書いてみました.
>rake install_gem rake aborted! couldn't find HOME environment -- expanding `~/.hoerc' E:/bin/rascut/rakefile:8:in `new' (See full trace by running task with --trace)
- E:\home を作って,HOME 環境変数を設定(set HOME="e:\\home")
- 再度,rake install_gem
>rake install_gem (... 前略 ...) cd - Successfully built RubyGem Name: rascut Version: 0.1.0 File: rascut-0.1.0.gem mv rascut-0.1.0.gem pkg/rascut-0.1.0.gem gem install pkg/*.gem rake aborted! Command failed with status (0): [gem install pkg/*.gem...] (... 後略 ...)
- 「fcwrapをWindowsで動かすメモ」を参照して,手動で gem をインストール.今度は HOME 環境変数が邪魔になったので削除.
>gem install rascut-0.1.0.gem e:/ruby/lib/ruby/site_ruby/1.8/rubygems/config_file.rb:51:in `initialize': Inval id argument - "e:\\home"/.gemrc (Errno::EINVAL) (... 後略 ...) >set HOME= >gem install pkg/rascut-0.1.0.gem
で,インストール完了しました.
現在は,最新のリポジトリを元に FileObserver#dir_observe だけを書き換えて動かしています.
#@dirs[dir] ||= dir.mtime @dirs[dir] ||= Time.at(0)
こうしないと監視対象が上手く登録されないのは,正常な動作だからなのか,どこか設定を弄ったからなのか,Windows の仕様なのかはわかりません><
rascut が便利すぎる
更新ファイルを監視して、自動で再コンパイル、ブラウザのリロードまでしてくれるツール。インタプリタ感覚で書けて最高!
なんか、上手くリンクが張れなかった。はてな記法はよくわからない。
うちの環境では、そのままでは動作できなかったので、いろいろやって Windows で動作させた。
HOME 環境変数絡みのエラー以外は、知識不足で変なことやってる臭いがぷんぷんするので、本家には報告してないけどメモ。
--include-libraries オプションを追加してみたり
mxmlc のオプションのうち -include-libraries は末尾に付けなければmxmlc の仕様でエラーになる。例えば、今まで使ってたのは↓のようなコマンド。これは、rascut の --compile-config では実現できない。
mxmlc -debug=true +configname=air Genial.as -include-libraries corelib.swc tweener.swc
そこで、--include-libraries オプションを追加してみた
op.on('--include-libraries=VAL', 'include swcs ex:) --include-libraries="tweener.swc,hoge.swc"') {|v| @params[:include_libraries] = "--include-libraries " + v.split(',').join(' ') }
cmd = ['mxmlc', @config[:compile_config], @target_script, @config[:include_libraries]].join(' ')
の二カ所を変えた。でも、よくよく考えたら
rascut "Genial.as -include-libraries corelib.swc,tweener.swc" --server --verbose ^ --observe-ext="as,swc,xml,svg" ^ --compile-config=" -debug=true +configname=air"
で回避できたっぽい。^ は cmd.exe の行継続記号。
そもそも、mxml を使ったりしたら何とか出来るんじゃないんだろうか。
画像の回転
背景でチップがクルクル回るようにしました。
この際、DisplayObject#rotation は 左上 を基準に回転するので、画像の中央などを中心にしたい場合使えない。
そこで、DisplayObject#.transform を使えばいけた。変換行列で「平行移動→回転→平行移動」。数学で習ってますよね。
addEventListener( Event.ENTER_FRAME, rotateBackgroundChip ); // ... 中略 private function rotateBackgroundChip( event:Event ):void { var rotationMatrix:Matrix = image.transform.matrix; rotationMatrix.translate( -baseX, -baseY); // 左上へ平行移動 rotationMatrix.rotate( 0.04 ); // 回転 rotationMatrix.translate( baseX, baseY); // 元の位置へ平行移動 image.transform.matrix = rotationMatrix; }




