Posts Tagged ‘ActionScript’

未分類 | No Comments | 8月 18th, 2008

 よりよい家計簿を目指して、RubyAMFを使ってみる。Rails + Flex3.0 でやろうと。

インストール(Rails側)

$ script/plugin install --force http://rubyamf.googlecode.com/svn/trunk/rubyamf/

設定

 インストールすると config/rubyamf_config.rb が出来るので、ここで設定を行う。

無視したいフィールドがあったら、下記のように指定する。

ClassMappings.ignore_fields = ['created_at','created_on','updated_at','updated_on']

ActionScript側で、変数名をキャメルにするかアンスコ区切りにするか。

ClassMappings.translate_case = false

public var created_at:Date;

ClassMappings.translate_case = true

public var createdAt:Date; // created_at in rails

AS側で、動的にRailのモデルと関連づけを出来るようにするか。ARから派生したモデル以外でも使えるみたい。

ClassMappings.assume_types = true

指定は、以下のようにする。
# Flash:: fl.net.registerClassAlias(‘User’,User)
# Flex:: [RemoteClass(alias='User')]

ClassMappings.assume_types = false のとき、以下のようにしてRails側とAS側のマッピングをするか。

ClassMappings.register(:actionscript => 'Address', :ruby => 'Address', :type => 'active_record')

とすると、
Ruby側

class Address < ActiveRecord::Base

AS側

[RemoteClass(alias="Address")]
public class Address {

デフォルトだと、ASから送られてくる日付は Time オブジェクトになるが、これを DateTime オブジェクトにするかどうか。true で DateTime, false で Time。

ClassMappings.use_ruby_date_time = true

これを true にすると、associationを eager load してくれるみたいです。false にすると、いちいち設定する必要があります。

ClassMappings.check_for_associations = true

AS側で保存したときに、Rails側でどのように受け取るかの設定。

ParameterMappings.scaffolding = false

として、AS側でsaveしたとき

save(context);

Rails側では、以下のように受け取ります。

def save
  @context = params[0]
ParameterMappings.scaffolding = true

として、AS側でsaveしたとき

save(
   {context:context}
);

Rails側では、以下のように受け取ります。

def save
  @context =
     params[:context]

書きかけ。

未分類 | No Comments | 2月 27th, 2008

 パルフェやりたいけど、AIRもやらなきゃ。って言ったら、AIRに移植すればいいじゃないですか、って言われた。そっちのAIRじゃないですよ。ゲームの方です。でも、普通どっちも思い浮かばないんだよ。

 25日にAdobeがAIR正式版とFlex3をついにリリースしたらしいですね。千早の誕生日に合わせてくるとは、さすがAdobe Systemsです。AIRはβ版で何度か大きく仕様を変えたみたいだけど、1.0 になったからはじめるなら今とか。土曜にAIR本買ったけどどんなもんかね(‘A`)

 でも、まだデスクトップで何を作れば良いかってあんまし思い浮かばないよね。気軽にデスクトップとWebが連携出来るようになったら、Web2.0とは逆に、より個人向けっていうコンテンツも流行ると思うんだけど。AmazonとかGoogleがやってるような。それとか、まだネットの住人でない人を取り込むための土俵を作ることがもしかしたら出来るかもしれない、というか多分これは結構マーケット広い気がしてます。ユーザが常にいるサイトを作る方向と、ユーザの近くに常にいるモノを方向が出来るみたいな感じ。

未分類 | No Comments | 1月 27th, 2008

 なぜかFirefox版のデバッガ付きFlashPlayser9が入らなかったので、強制的に入れる方法をめも。

 以下のURLから、デバッガ付きFlashPlayer9をダウンロードする。 ActiveX control content debugger (for IE) と書いてあるのがIE版で、Flash Player 9 Plugin content debugger (for Netscape-compatible browsers) と書いてあるのが Firefox等にいれる版です。SAはスタンドアロン版。

http://www.adobe.com/support/flashplayer/downloads.html

Firefox版でこれでダウンロードしたファイルを実行すると、XPのHomeエディションでは、 C:\WINDOWS\system32\Macromed\Flash\NPSWF32.dll というDLLがインストールされる。しかし、なぜかFirefoxのプラグインフォルダに入ってた通常バージョンとかは消されてしまう(‘A`) デバッガ付きをインストールすると、NPSWF32.dllがデバッガ付きになってるので、これをFirefoxのプラグインフォルダにコピーすればプラグインとして使えるようになるようだ。

C:\Program Files\Mozilla Firefox\plugins 以下に、先ほどのNPSWF32.dllをコピーします。これでFirefoxを起動すると、無事デバッガ付き FlashPlayer9がプラグインとしてインストールされます。

おまけで、古いバージョンのFlashPlayer をインストールしたいときは、以下のURLから拾える。

http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14266&sliceId=2

未分類 | 4 Comments | 12月 31st, 2007

ActionScript3 で Ruby の send のようなことをするには [method名] とすれば良いようだ。

var method_name:String = 'length';
var str:String = 'htp://ecpplus.net';
trace(str[method_name]);

=> 18

みたな感じでとれる。Object は .method名 でも [method名] でも行けるような感じ。まだまだイベントが使いこなせない。

未分類 | No Comments | 12月 29th, 2007

Suse10.3 64bit版に FlashPlayer9 入れようとしたら普通には入らないみたい。Adobeのページで tar.gz 版落としてきたら、中に libflashplayer.so というファイルがあり、これをインストールすればいい。

flashplayer-installer というシェルスクリプトのインストーラがついてくる。これを見ると、Firefox のプラグインは ~/.mozilla/plugins というディレクトリのようだ。しかし、plugins はデフォルトではないようなので mkdir してあげる。そして、プレイヤーを突っ込む。

$ mkdir ~/.mozilla/plugins
$ cp libflashplayer.so ~/.mozilla/plugins

これだけでは動かないので、nspluginwrapper というコマンドをかましてあげる。これが root で実行しないとダメみたい。

$ sudo nspluginwrapper -i ~/.mozilla/plugins/libflashplayer.so

これで FlashPlayer9 インストールできる。Flex2 開発するために入れねばいけない。さっき JAVA入ってなくて小一時間ハマったよ。

download the hurt locker