flashliteにGETパラメーターを渡す
http://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=flat&order=DESC&topic_id=3414&forum=18
test.swf?val=hoge
普通に上のようにしても渡せない。だからphpからswfを直接読み込んで書き直さないといけないらしい。↑のソースはクラスでラッピングされてないんで適当に直してみる。そこで気になったのが値渡しと参照渡し
class convert { function execute() { $buf = 変換; return $buf; } } $c = new convert(); header("Content-Type: application/x-shockwave-flash"); print $c->execute();
これって2回データ渡してるよね?$bufとかをメンバ変数にして
class convert { var $buf; function &execute() { $this->buf = 変換; return $this->buf; } } $c = new convert(); $buf =& $c->execute(); header("Content-Type: application/x-shockwave-flash"); print $buf;
こういう感じにしたほうがいいん気がする?だよね?↑って値渡ししてるからダメだよね?なんか今は関係なさそうだけど沢山の人がアクセスするようになったらかなり関係しそうな気がするわ・・・
CTRL+Zで抜けたあとemacsに戻る方法
VisualStduio使いだった僕がなぜか最近はemacsを使ってる。emacsではUndoはCTRL+/なんだけど、Windows使いの癖でCTRL+zを押してしまう。
Emacsの場合のCTRL+zはシェルに戻ってしまうコマンドらしい。最初このコマンドを打ったとき焦って心臓止まりそうだった。この場合シェル上で
fg
と押せば元に戻るらしい。よかったよかった。
【参考URL】
http://bio-math10.biology.kyushu-u.ac.jp/~tohya/tips/emacs.html#suspend
coLinuxを入れてみた
いい加減全部Linux上で作業したいなーとか思ってた。Sakuraのサーバー借りてSSHでログインするか?
とか思ってたけどローカルで作業できないのはめんどいなーとか思ってた。
そんとき coLinux って奴を教えてもらった。これは中々すごそう。エミュレーターじゃなくカーネルをそのまま動かしてるので速いらしいし・・・さっそくインストールしてみる。
ここを参考にcoLinuxを入れてみた。ディストリビューションはデフォルトでDebianにしてみる。
なんか起動がうまくいかない。調べてみたら設定のXMLを↑のサイトからコピペしたせいで
←変更
ってのを消してなかったこと・・・俺馬鹿すぎる○| ̄|_
まだまだ設定が残ってる。というか当然だけどEmacs入ってないwww
というかviも入ってない。
まじありえないwwwでもインストールとか結構やりがいがでてきた。
Apolloやってみた
http://zapanet.info/blog/item/953
↑のサイトを参考にApolloを試してみた。詰まったこととか感想を書いておく。
> 3.Apolloアプリケーション開発環境パス設定 ;C:\Apollo\bin\
最初ここの部分が分からなかったが何のことはない。flexSDKとapolloを解凍したディレクトリーにパスを通しているってことだ。というか直前に
> 既存のものを流用しようとせず、 新規にApolloアプリ開発用のディレクトリを作ってしまった方が安全です。
って書いてるwwwこういう意味だったのか・・・ごめんなさいflexSDKに直接上書きしてしまいました○| ̄|_。あとclasspathは特に追加しなくてよかった。
んでサンプルプログラムをコピペして実行してみた。問題はapollo用のswfを作るときのコマンドがamxmlcなんだよねー。fcshは使えるんだろうか?でもamxmlcってbatファイルなんだよなー。何とかしたら動きそう。
まぁそんなこんなで無事にairファイルを生成できた何の略だろ?アポロインストールランタイムとみたね!!んでこの.airは.exeの役割かと思ったらこれはインストールファイルらしい.msiみたいな感じだね。これを実行するとなんと
C:\Documents and Settings\ユーザー名\Program Files\プロジェクト名\プロジェクト名\
が生成される。そこに「プロジェクト名.exe」が作られる。他にもデスクトップにショートカットが追加される。
さらに「スタートメニュー」と「プログラムの追加と削除」にまで追加されてる。まじレジストリ汚れるから辞めてといいたい。即効で消す。
余計なことしすぎ・・・まじ勘弁だよwまぁとりあえずApolloって言ってもswfを生成してそれをexeにラッピングする形なのが分かった。
つまりActionScript3でガリガリ開発しても問題なしっちゅーことだ。Apollo独自の機能(ローカルファイルとか)を使わない限りとくに何か変えないといけないことはないらしい。便利便利。これでごいごい開発していけるぜ!!
はてな勉強会とAdobe公式ドキュメント
http://hatena.g.hatena.ne.jp/hatenatech/20070324
はてなで行われた勉強会のビデオがある。なんか見てたら途中で落ちるんだけどなんで?SlepnirのせいかとおもてFireFoxにしても落ちた。
まぁ凄い勉強になる。とりあえず一番気になったのは「ExternalInterface」ってのがあるってこと。これでJavaScriptで全部弄れる可能性も・・・まぁおれJavaScriptあんまり知らないんだけどね!!
でも、正直ActionScript3の仕様にMっ子の僕もさすがに限界になりそうだしな・・・最低限の機能だけをActionScript3で書いて操作は全部JavaScriptでやると言う神の手法でやるか・・・
http://www.adobe.com/support/documentation/jp/flex/index.html#package
ここでめちゃんこいっぱいドキュメントが落ちてる。AdobeだからPDFなのは仕方ないけど個人的にはchmが好き。まぁいいか・・・最近PDFも大分早くなったし。一昔前ありえんぐらい遅かったよねー。
singletonはこうやる
http://d.hatena.ne.jp/Maaboo/20070310/1173519571
ここの疑問が解決した。2chでblog晒したら解答がきた。以下参考URL
http://weblogs.macromedia.com/akamijo/archives/2005/12/index.cfm
http://subtech.g.hatena.ne.jp/secondlife/20070219/1171877084
まぁこれも教えてもらったサイトなんだけどねwめちゃ感謝です。以下は参考サイトにアクセサメソッドと命名規則を適応した焼き直しコードです。
【Main.as】 package { import flash.display.*; public class Main extends MovieClip { public function Main() { var singleton:Singleton = Singleton.instance; } } } 【Singleton.as】 package { public class Singleton { private static var __instance:Singleton; public function Singleton(x:PrivateClass) { } public static function get instance():Singleton { if(Singleton.__instance == null) { Singleton.__instance = new Singleton(new PrivateClass()); } return Singleton.__instance; } } } class PrivateClass { }
こんな感じになる。面白いと思ったところといえば
public function Singleton(x:PrivateClass) { } 〜中略〜 class PrivateClass { }
ここが面白かった。PrivateClassクラスはSingletonクラスからしかみることが出来ないので他からは絶対生成できない。うまいことやっとるわ。あとなんか今日学んだことの集大成っぽくなってかなりGOOD!!
明日からはお絵かきツールをつくってみるお。
P.S.
http://weblogs.macromedia.com/akamijo/
とりあえずここの人のBlogが神すぎる。量が多いので全部は見れてないが、なんか困ったことがあればここみれば大体解決しそうな悪寒がするwww
というかドメインみたら今はなきmacromediaなんですけどwwwこの人はなにものじゃ?