« 2008年05月 | メイン | 2008年07月 »

2008年06月 アーカイブ

2008年06月02日

Flashのバージョンチェック

ActionScript2の話 FlashPlayer10 をいれたら見れなくなるサイトがあるなーと思ってたけど、今日こんなコードに出会った。

var v = getVersion(); // output MAC 9,0,115,0
if (Number(v.substr(4,1) < 7)) {
    // バージョンアップしてね
}

これじゃFlashPlayer10で見れません><
splitをつかってやりましょう!

var v = getVersion(); // output MAC 9,0,115,0
if (Number(v.split(" ")[1].split(",")[0]) < 7) {
    // バージョンアップしてね
}

もしかしたらFlashPlayer10で見れないサイトはこんな感じのコードだったりするのかな。 それとも明示的に10を取り除いてるんだろうか。。。

ちなみにActionScript3でバージョン取得する場合は
flash.system.Capabilities.version

で取得できます。

2008年06月07日

ActionScript 的ちょい絶技巧発表会 in Nagoya Vol.4

20080606152807.png

私は行けませんがよかったら名古屋の人参加してくだせぇ
bigchuのバナーがひどいw

  • 日時: 6月23日(月)の20:00くらい
  • 人数: 10人ほど
  • 場所: アップルップルさん
  • 概要: ちょいっとしたActionScriptやFlash、Flexなどのネタなど披露する発表会です

申し込みはこちらから

http://123.writeboard.com/2352d5168d2ea35b5/login
pass: wcanas

告知: ActionScript 的ちょい絶技巧発表会 in Nagoya Vol.4 - 酒は血液、呑んだら献血
http://d.hatena.ne.jp/bigchu/20080606/1212734272

名古屋でちょいとしたネタ披露会—ちょい絶 Vol.4 | ra66it.net
http://ra66it.net/blog/index.php?ID=866

2008年06月10日

FLVPlaybackのsmoothing

メモ

AS3のFLVPlaybackのsmoothingのかけかた。
playerがFLVPlayback

player.getVideoPlayer(player.activeVideoPlayerIndex).smoothing = true;

FLVPlaybck使わない場合はVideoクラスにsommthingのプロパティがある。

Macでディスクイメージをつくる

ディスクを作成する - [Mac OSの使い方]All About
http://allabout.co.jp/computer/macos/closeup/CU20070220A/

こりゃ便利
.cdrは.isoに書き換えてそのままつかえるっぽい

2008年06月11日

FLASH OOP for ActionScript 3.0 予約できる

予約できるようになってた

FLASH OOP for ActionScript 3.0


FLASH OOP for ActionScript 3.0 予約開始 - connect.to.blog()
http://connect2.jp/weblog/2008/06/flash-oop-for-actionscript-30.html

2008年06月12日

FlashPlayerのExpress Installがうまくいかない

おれの環境だけだろうか

9以上じゃないとExpress Install動くはずなのだが。。。
http://labs.un-q.net/flash/expressTest/

Screenshot_1.png

となってしまう。。。

Mac OS X 10.4.11
Firefox
FlashPlayer 8.0 r27


あと
Archived Flash Players available for testing purposes
http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14266&sliceId=1

にあるFlash Player8のアーカイブって全部Intel Mac未対応?
9からはIntel用もあるんだけどなー


追記 2008.6.17
WinのFirefoxだとうまくいったっぽい
なんだろーなー

Macでも9.0.115からだったらうまくいったっぽい

うむー

選択したオブジェクトを(0,0)に移動するJSFL

確実に誰かが作ってると思うけど練習かねて書いてみた

var doc = fl.getDocumentDOM();
if (doc.selection.length > 0) {
    var x = doc.getElementProperty("x");
    var y = doc.getElementProperty("y");
    var w = doc.getElementProperty("width");
    var h = doc.getElementProperty("height")
    doc.moveSelectionBy({x:-x+w/2, y:-y+h/2});
}

JSFLめんどい
doc.getElement()とかあったら便利だと思うんだけどなー
ないっぽいなー


追記 2008.6.16
上のスクリプトだと、複数選択してたときとかにおかしなことになってた。
というかdoc.selectionのなかに選択したelementが入ってるから、それのプロパティ直接変更できたよ。ちゃんとドキュメント読まなきゃなー
var doc = fl.getDocumentDOM();
for (var i in doc.selection) {
    doc.selection[i].x = 0;
    doc.selection[i].y = 0;
}
こんな感じでもいけるっぽい
ただ、これだとオブジェクトがシンボルになってれば基準点を基準に(0,0)に移動してくれるけど、直接書いたシェイプとかだと、基準点を勝手にオブジェクトの中心にしてしまう。
個人的にはオブジェクトの左上を(0,0)にしたいのでこんな感じにしてみた。
var doc = fl.getDocumentDOM();
for (var i in doc.selection) {
    if(doc.selection[i].elementType == "shape") {
        doc.selection[i].x = 0 + doc.selection[i].width/2;
        doc.selection[i].y = 0 + doc.selection[i].height/2;
    } else {
        doc.selection[i].x = 0;
        doc.selection[i].y = 0;
    }
}

2008年06月17日

FLVPlaybackからNetConnectionとNetStreamを取得する

めもー

bufferLengthがFLVPlaybackから直接取得できなかったので、調べてみたらFLVPlaybackからNetStreamとかNetConnectionが取得でっぽい。

FLVPlaybackコンポーネントからNetConnectionオブジェクトを得る方法 - akiyan.com 管理人メモ
http://d.hatena.ne.jp/akiyan/20071102/1193992725

netc = player.getVideoPlayer(player.activeVideoPlayerIndex).netConnection;
nets = player.getVideoPlayer(player.activeVideoPlayerIndex).netStream;

2008年06月18日

Mac版Firefox3ではFlashに日本語入力ができないので

Latest topics > Mac版Firefox 3正式版に、日本人ユーザにとって結構致命的な問題が残ってしまいそうな件について - outsider reflex
http://piro.sakura.ne.jp/latest/blosxom/mozilla/firefox/2008-06-10_feedback.htm


ばっちり残ってました><
Mac版のFirefox3ではFlashのテキストフィールドに対して日本が入力できません。
日本語入力に切り替えて入力しても英数が入力されてます。


なので独自ビルドされてパッチの当たったやつをインストールしてみました。
Firefox lzyc build
http://fox.lazycat.info/


ばっちり日本語入力できます。
ちなみにインストール後は英語になってるので
Firefox lzyc build » 日本語表示に変更する
http://fox.lazycat.info/%E6%97%A5%E6%9C%AC%E8%AA%9E%E8%A1%A8%E7%A4%BA%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B

で日本語化するといい感じです。


こんなグリモン書いてる人もいましたw

ニコニコ動画で日本語入力できない人のためのGreasemonkeyスクリプト - 金利0無利息キャッシング – キャッシングできます - subtech
http://subtech.g.hatena.ne.jp/mala/20080615/1213492297


追記 2008.6.18 17:30
なんかlzycは最適化されてるらしい。
本家より絶対お勧めな各CPUに最適化した独自ビルドFirefox『Firefox lzyc build』 | Macの手書き説明書
http://veadardiary.blog29.fc2.com/blog-entry-1636.html


Firefox3にFlash Switcherいれた

Twitter / nori: せっかくFireFox3にしたので、Flash Swi...
http://twitter.com/northprint/statuses/837373839

Firefox extensions - Flash Switcher - sephiroth.it
http://www.sephiroth.it/firefox/flash_switcher/

いつのまにか新しいやつ出てたっぽいのでいれておいた。
しかも1つでMac Win Linuxに対応してる。

ちなみにスイッチできるバージョンを増やすには
Flash Switcher入れてみた(OSX版) - cellfusion blog
http://blog.cellfusion.jp/2008/05/339

Macだけどwinも同じだよねきっと

2008年06月19日

Max5大作戦 おもしろそう

IAMASのイベントが東京であるらしい。
とりあえず6/22はMax5

2061:Maxオデッセイ » Blog Archive » Max5大作戦&プレゼント
http://max.iamas.ac.jp/2061/?p=1155

2061:Maxオデッセイ » Blog Archive » IAMASイキマス、DSPでBANG! 2008 @ AppleStore銀座
http://max.iamas.ac.jp/2061/?p=1113

Maxやったことないけどちょっとおもしろそうだなー
行ってみようかな

Web Designingにのったよー!

俺のMacbookだけだけどw
WCAN mini AS Vol.6がのりましたー

Web Designing (ウェブデザイニング) 2008年 07月号 [雑誌]
Web Designing (ウェブデザイニング) 2008年 07月号 [雑誌]


MacのFirefox3でFlashフルスクリーンにするとMouseEventが取得できない

※注意
どうも環境によるみたいっす。詳しいことはまだよくわかってません。

なんてこったい><


MacのFirefox3にてFlashをフルスクリーンにすると、マウスイベントがうまく取得できなくなるっぽいです。
ほかの環境はあまり試してないので皆さん試してみてください。

クリックしたりすると一瞬いろいろなイベントが取得できるけど、すぐにだめになる。
右クリックで画質変更するとなぜかイベントがくる。。。そのあと一度でもどこかをクリックするとまた イベントがこなくなる。
クリックイベントの直後はイベント取得できるっぽいので、ボタンのクリックの処理は大丈夫そうですが、その他はダメな感じです。

■追記 2008.6.19 17:00
Mac のFirefoxでちゃんとイベントとれてる環境もあるみたい
今の環境書いておく
  • Firefox/3.0 (lzyc)
  • Flash Player 9,0,124,0 Debug
  • Mac OSX 10.4.11

■追記 2008.6.19 19:50
もしかしてこれかなー

Bug 435868 – Flash mouse input is partially blocked when in full screen (fullscreen) display state
https://bugzilla.mozilla.org/show_bug.cgi?id=435868

検証用
上のボタンでフルスクリーンきりかえできます。したのオブジェクトにmouseOverとmouseOut,clickでテキストが入れ替わります。 traceには他のイベントも出してます。
このコンテンツには最新のFlashPlayerが必要です


そーす
package {

    import flash.display.*;
    import flash.events.*;
    import flash.text.*;

    [SWF(width="300", height="300", frameRate="24", backgroundColor="#000000")]    
    public class FullscreenFx3Test extends Sprite {

        private var fullscreen_btn:Sprite;
        private var testText:TextField;

        private var testSp:Sprite;
        
        function FullscreenFx3Test() {
            
            createButton();

            trace(" --------------- start FullscreenFx3Test ---------------");
            trace(" いろいろ出力します ")
            
            fullscreen_btn.addEventListener(MouseEvent.CLICK,
                                            function(e:MouseEvent):void {
                
                if (stage.displayState == StageDisplayState.NORMAL) {
                    stage.displayState = StageDisplayState.FULL_SCREEN;
                } else {
                    stage.displayState = StageDisplayState.NORMAL;
                }
                testText.text = "";
                
            });


            eventCheckInit()
        }


        private function eventCheckInit():void {
            
            testSp.addEventListener(MouseEvent.MOUSE_OVER,
                                            function(e:MouseEvent):void {
                trace("mouse over");
                testText.text = e.type;
            });

            testSp.addEventListener(MouseEvent.MOUSE_OUT,
                                            function(e:MouseEvent):void {
                trace("mouse out");
                testText.text = e.type;
            });
            
            testSp.addEventListener(MouseEvent.CLICK,
                                            function(e:MouseEvent):void {
                trace("mouse click");
                testText.text = e.type;
            });

            var events:Array = [MouseEvent.CLICK,
                                MouseEvent.DOUBLE_CLICK,
                                MouseEvent.MOUSE_DOWN,
                                MouseEvent.MOUSE_MOVE,
                                MouseEvent.MOUSE_OUT,
                                MouseEvent.MOUSE_OVER,
                                MouseEvent.MOUSE_UP,
                                MouseEvent.ROLL_OUT,
                                MouseEvent.ROLL_OVER];
            var i:uint;
            var l:uint = events.length;
            for(i=0; i<l; i++) {
                testSp.addEventListener(events[i],
                                        function(e:MouseEvent):void {
                    trace(stage.displayState , e.type);
                });
            }
            
        }


        private function createButton():void {
            
            // fullscreen_btn
            fullscreen_btn = new Sprite();
            var g:Graphics = fullscreen_btn.graphics;
            g.beginFill(0xffffff);
            g.lineStyle(1, 0x999999);
            g.drawRect(0, 0, 200, 40);
            g.endFill();
            fullscreen_btn.x = 300/2  -fullscreen_btn.width/2;
            fullscreen_btn.y = 100/2 - fullscreen_btn.height/2;
            addChild(fullscreen_btn);
            fullscreen_btn.buttonMode = true;
            fullscreen_btn.mouseChildren = false;
            var ftxt:TextField = new TextField();
            ftxt.autoSize = TextFieldAutoSize.LEFT;
            ftxt.text = "Toggle FullScreen";
            ftxt.setTextFormat(new TextFormat("_ゴシック", 15));
            ftxt.x = 30;
            fullscreen_btn.addChild(ftxt);            


            // testObject
            testSp = new Sprite();
            g = testSp.graphics;
            g.beginFill(0xaaaaaa);
            g.lineStyle(1, 0x999999);
            g.drawRect(0, 0, 200, 200);
            g.endFill();
            testSp.x = 300/2  -testSp.width/2;
            testSp.y = 80;
            addChild(testSp);
            testSp.buttonMode = true;
            testSp.mouseChildren = false;

            testText = new TextField();
            testText.autoSize = TextFieldAutoSize.LEFT;
            testText.text = "";
            testText.defaultTextFormat = new TextFormat("_ゴシック", 15);
            testText.x = 50;
            testSp.addChild(testText);            
            //testText.visible = false;
            
        }
    }
}

2008年06月20日

Emacsのキーバインド鬼軍曹

Copy/Cut/Paste:Emacsキーバインド強制elisp"鬼軍曹.el"をcommitした
http://blog.livedoor.jp/k1LoW/archives/65055608.html

俺もEmacs使ってるけど未だに矢印とか使っちゃうから入れてみた。
速攻怒られた><
がんばろう

2008年06月24日

サムライウエポン!

世界初 ブログデストロイシステム搭載
サムライウエポン
だそうですw

めっちゃ凝ってるw
おもしろいなー
カーソルを切るアクションを見るだけでも楽しい
最後まで見たくなる感じ。
フローティングも数種類あるっぽいw

何の広告かわからないけど、最後まで見たくなるってのはいいですねー

はりつけはこちら
サムライウエポン|SAMURAI WEAPON
http://www.samurai-weapon.com/


Pickles weblog | ブログパーツ「サムライウェポン」
http://www.pickles.tv/weblog/sb.cgi?eid=484

卓球とおかわり

先週の金曜に卓球、土曜に「ごはんとFlashおかわり」にいってきましたー

金曜は5iveのsimoさん主催の卓球に参加してきました。
18人もの人が集まってすげーおもしろかったです。

実は中学のとき卓球やってたのですが、うまい人がたくさんいて全然ダメダメでした><
古今東西卓球ではActionScriptのクラス名とかSpriteのプロパティとかマニアックなゲームが始まったりしてましたw
終電くらいでいったん終わったのですが、残った人たちでさらに卓球。しかも自分以外はマイラケット!
みんなうめぇ!
最終的に飯食いに行ってたら雨振ってきて、びしょびしょになりながら自転車で帰りましたー
おもしろかったのでまた参加したいっす!

ARCHETYPの方たちに出会ったのですが、今の事務所からめちゃくちゃ近いことが判明しました。今度遊びに行きます!


土曜のごはんとFlashおかわりでは20人くらいが渋谷のDouble Tall Cafeに集まりました。
さすがごはんとFlash、ごはんおいしかったです!
鎌倉のときはお話できなかった方とかと話しができてよかったです。
やっぱりこのくらいの人数だとだいたいの人とお話が出来るのでいいですね。
たくさん集まるのも好きですけどね。

次回のごはんとFlashは予定があって残念ながら参加できないのですが、今後も続けていってくれることを願ってます。
スクリプト書く人とデザインする人、アニメーション作る人がもっと交流できる場が増えると、Flashがもっとおもしろくなるんじゃないかなーと勝手に思ってます。

今後もいろんなイベントに顔出して行きたいので、みつけたら捕まえてくださーい。

2008年06月25日

EmacsからFlashをパブリッシュ

EmacsからFlashのパブリッシュとムービープレビューをできるようにしてみた。環境はMacだけどWinでも出来ると思う。。。

.emacs.elに
(defun publish-flash()
  (interactive)
  (do-applescript
   (format "
tell application \"flash\"
  try
    open alias \"Macintosh HD:Users:hoge:labs:jsfl:publish.jsfl\"
  on error
    beep
  end try
end tell")))

(defun testmovie-flash()
  (interactive)
  (do-applescript
   (format "
tell application \"flash\"
  activate
  try
    open alias \"Macintosh HD:Users:hoge:labs:jsfl:testMovie.jsfl\"
  on error
    beep
  end try
end tell")))
  
(global-set-key [\C-return] 'publish-flash)
(global-set-key [\M-return] 'testmovie-flash)
として、適当な場所に以下の jsflファイルを配置しておきます。

Macintosh HD:Users:hoge:labs:jsfl:publish.jsfl
fl.getDocumentDOM().publish();

Macintosh HD:Users:hoge:labs:jsfl:testMovie.jsfl
fl.getDocumentDOM().testMovie();
これでEmacs上からCmd+Enterでムービープレビュー、Ctrl+Enterでパブリッシュされます。 さらにムービプレビュー時はFlashのウインドウがアクティブになります。

仕組み的には Emacsから AppleScript経由でJSFLを実行してるだけ。この方法を使えばあらゆるJSFLがEmacsから実行できます。

超ニッチな気もするけど便利なのでEmacsでAS書いててかつ Flash持ってる人は使ってください。

2008年06月28日

開いているflaファイルを全てパブリッシュしつつ、アクティブなやつをムビープレビューするjsfl

焼酎甲類ビッグマンが好きなbigchuがやってたのを拡張してみた。

開いているflaファイルを全てパブリッシュするJSFLで乾杯 - 酒は血液、呑んだら献血
http://d.hatena.ne.jp/bigchu/20080625/1214413128

ひらいてる.flaをパブリッシュしつつ、アクティブな.flaをムービープレビューします。
メインのswfが複数のswfを読み込むようなコンテンツの開発してるときには便利かも。 思いつきで書いたのでなんも保証しません。
var activeDoc = fl.getDocumentDOM()
for (doc in fl.documents) {
    if (fl.documents[doc] != activeDoc) {
        fl.documents[doc].publish();
    }
}
activeDoc.testMovie();

2008年06月29日

ActionScript Thread Library 1.0 (そうめん) がリリースされた

暑くなってきたのでそうめんの季節ですねー

ActionScriptもそうめんの季節です!

BeInteractive! [ActionScript Thread Library 1.0 (そうめん) リリース!!]
http://www.be-interactive.org/index.php?itemid=385

ActionScript Thread Library 1.0 (そうめん) ドキュメント
http://www.libspark.org/htdocs/as3/thread-files/document/

AS3のスレッドライブラリなのですが、すげーいいです。まだ基本的な部分しか使えてないっぽいですが
、addEventListener地獄から抜け出すことができますw


わりとサーバーと非同期通信を何回も行うFlashを作ることが多いので、addEventListnererを大量に書くことになったりするんですが、このライブラリがあればaddeventListenerソースからみるみる消えていきます。

ドキュメントもしかりしててサンプルもたくさんあるので、まだ1日しかさわってませんが、実践投入しちゃいました!
なんとかTherad.asというファイルがいっぱいですw
スレッドを細かく分けてみたんだけど、後で読み返したり修正するのが結構楽かなと思いました。

そうめんを使う人のことを「soumener」というらしいので「名古屋のsoumener」と言われるように頑張ります!
http://twitter.com/beinteractive/statuses/846022419

soumenerのよみかたは「そーめなー」でいいのかな

Macしゃべらしたらそんな感じだった。

$ say soumener

全然関係ないけど

$ ls /System/Library/Speech/Voices 

ってすると、しゃべってくれる人の一覧がでてきて
$ say -v Trinoids soumener

ってするとその人の声でしゃべってくれるwww

2008年06月30日

WCAN mini AS Vol.7 でしゃべってくれるひと募集

WCAN mini AS Vol.7やりまーす。
とりあえずスピーカーの募集しまっす。

2008/07/26 (土)
昼くらいから名古屋のどっかでやりまっす。

今回は ライブラリ・API特集 ってことでFlashのライブラリとかAPIつかってゴニョゴニョとかのことしゃべってくれる人探してまーす。
5分とか短い時間でもいいのでぜひお願いしまっす!

スピーカーやるよーってひとはコメントでもいいし、なんだかの方法で私に連絡ください。
as at wcan.jpにメールもらってもオッケーでーす。

About 2008年06月

2008年06月にブログ「Unknown Quality」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

前のアーカイブは2008年05月です。

次のアーカイブは2008年07月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。