2008年5月アーカイブ

今までこのブログは、Firefoxで書いて、Firefoxで確認していたら、


IEでは、flashが見れていなかったらしく、お詫び申し上げます


id:mongchang曰く、Objectタグがダメらしく、今朝Papervision系は直しました。

IE6, Firefox, Opera, Sleipnir, Safariで、一応確認しました。

Google Analyticsによると、約半数がIEということで、

多くの人が見れずにいたのかぁって思うとちょっと残念。



リンクを貼っておくので、

思いたる節がある人は、見に来てください。


[Papervision3D2.0]#1GreatWhiteを使ってみる
[Papervision3D2.0]#2 GreatWhiteでMouseEventを使うなどしてみる
[Papervision3D2.0]#3 Tweenerでトゥィ―――ンする
[Papervision3D2.0]#4 PV2.0でGlowFilterを使う
[Flex][Air] BlurFilterでぼかす



次以降、flashを貼る時のためのテンプレ


AirではWindowの右下を引っ張ったりすると、サイズが変わるんだけど、

ある時はリサイズ可能で、ある時はリサイズ不可能にしたい


resizableっていうプロパティがあったので、それを使おうとしたら、


「読み取り専用です。」



はい???


なんか、初期化の段階でセットしなきゃいけないらしく、動的にころころ変えることはできないらしい



そこで、




ってやればリサイズ不可能じゃね???


許可したい場合は、適当な値を代入する



もっといい方法があれば教えてください



-------------------------追記(2008/10/3)------------------------------

[Air] 動的にリサイズを可能にしたり不可能にしたりする 〜その2〜
にもっと別の方法のソースを書きました。


Max OS Ⅹで検索すると、NetInfoでなんとかかんとかって出てくるんだけど、

アプリケーション -> ユーティリティを何度見ても、そんなアプリはない・・・


どうやら、10.5から変わったようで。


OS再インストールした時のためのメモー



1. アプリケーション -> ウーティリティ -> ディレクトリユーティリティを起動

2. 鍵マークをクリック

3. パスワードを入力

4. メニューの編集から「ルートユーザを有効」をクリック

5. メニューの編集から「ルートパスワードを設定」をクリックし、設定

6. 鍵マークをクリックし、設定をロック


以上





1000speakersでプレゼンした時に、スライドがシャッって動くようなのをflexでやったんだけど、



動いてる方向にぼかしを入れるともっときれいになるってデザイナーの人に教えてもらったので、



次回のプレゼンするためのメモ



とりあえず、↓みたいになればいい





ソース:myBlurFilter.mxml



BlurFilterのコンストラクタは、
BlurFilter(blurX = 4, blurY = 4, quality = 1)で

・blurXは水平方向のぼかし(0.0〜255.0)、
・blurYは垂直方向のぼかし(0.0〜255.0)で
2のべき乗を指定すると速いらしい

・quialityは、なんかいblurをかけるか(?)で、値を大きくしたら重くなるので、1〜3にするといいらしい


これを適用させるには、filtersプロパティにこれを代入すればいいのだが、filtersの型はArrayなので"[","]"でくくってArrayにしてやる。
filterを外すには、filtersにnullを入れれば良い




また、Panelの移動のTweenにtransition:"easeOut"を指定し、徐々に減速して行くようにしたので、ぼかしも少しずつ減っていかないと不自然だった。
そこで、blurXにtweenをかけて値を減らしていけば良いと思ったのだが、BlurFilterは処理が重くなるのを避けるために、Bindableではないらしい。
なので、blurXのtweenを適用させるために、TweenerのonUpdateを用いて、filterをセットし直す。



今までPapervision3DでたくさんTweenerを使ってきて、TweenerはPapervision3D用のライブラリだと思ってたら、フツーのFlexのコンポーネントとかでも使えたww


Tweenerのコードは、↓からどうぞ
http://code.google.com/p/tweener/


Tweenerの使い方は、1000Speakersでしゃべった時のスライドによると、


Tweener.addTween(
        対象のオブジェクト
,
        {
            対象のプロパティ:tween後の値,
             time: tweenの時間(秒),
             transition:tweenの仕方
        }
);


ってあったけど、さらに、

Tweener.addTween(
        対象のオブジェクト
,
        {
            対象のプロパティ:tween後の値,
             time: tweenの時間(秒),
             transition:tweenの仕方,
            onComplete:tween終了後に呼ばれる関数

        }
);

のように、関数を指定してやると、tweenの後処理を行える


追記:
[Flex][Air] BlurFilterでぼかすにこれを使ったソースを載せました
Macならともかく、WindowsのデフォルトのChrome(クローム)はあんま格好良くないわけで、


でもタイトルバーを消すと、一緒に「閉じる」「最大化」「元のサイズに戻す」「最小化」が消えちゃうわけで、

それを自分で実装する時に、イベントに登録するメソッド



・閉じる


・最大化


・元のサイズに戻る


・最小化



「最大化」と「元のサイズに戻す」はViewStackに入れると幸せになれる予感
 コンポーネントをデフォルトアプリケーションのmxmlに直接書かずに、ActionScriptからnewしてaddChildする時に、mxmlだとwidth="100%"とか書けたのに、asでwidth=100%;などと書くとエラーが出る。


どうにかならないかなって思ってたら、



親切で美しい吉村さんが教えてくれました




width = 100%;とせずに、


percentWidth = 100;とすればいいとのこと


heightも同様に、percentHeightっていうプロパティがあるそうで





し、知らなかったぁ・・・
Papervison3D2.0でGlowFilterを使う時のメモ

まず、GreatWhiteでは使えない(たぶん
なので、GreatWhiteではなくEffectsの方を使う。

FilterはGlowFilterじゃなくてもいいはずだけど、使ったことないからわかんない

ぇっと、前回の[Papervision3D2.0]#3 Tweenerでトゥィ―――ンするのマウスオーバーしたPlaneを光らせるようにする。





ソース( myGlowFilter.mxml)




GlowFilter自体はどのオブジェクトにマウスオーバーしても同じにするので、インスタンスは一度だけnewしてそれを使いまわす。



これをMouseOverした時に適用するには、renderLayerプロパティにこれを代入するだけ



MouseEvent(InteractiveScene3DEvent)を有効にするのに、cameraとmaterialのinteractiveプロパティをtrueにするのを忘れずに([Papervision3D2.0]#2 GreatWhiteでMouseEventを使うなどしてみる



1000speakersで見た人もいるだろうが、今まで使っていたノートPCの液晶が液漏れを起こし、画面中央にブラックホールが発生してしまった。プログラムを書くときに見えない部分があると激しくやりにくいため、レッツノートと悩んだ挙句、世界再薄という言葉に惹かれMacBookAir購入に踏み切った。
MacBookAirは世界最薄といういわばスーパーサイヤ人であるが、そのまま素直にMacを使うだけではダメだ。というかWindows版しかないソフトでの課題が出せない。
なので、スーパーサイヤ人3になるべく、WindowsとFusionしようと思ったのだが、MacBookAirはCPUが弱いから無理だと言われる。なんと、Fusionは二人の気を全く同じにしなければいけないという初歩的なところでつまずいてしまった・・・。実際に無理やりFusionしようとして失敗し、ガリガリやデブの状態になってしまい、さらに30分たっても元に戻らないなど致命的なエラーが出た例も報告されているようだ。
なので、Fusionを諦め、Billy's boot campで修行をすることにした。



MacBookAirにbootcampでWindowsを入れる時のメモ


まず、Bootcampでインストールするには、WindowsXPのServicePack2以降が適用済みのフルインストールディスクが必要らしい。
WindowsXP HomeEditionのSP1を持っていたので、それにパッチを当ててSP2のディスクが作れるみたい。


Service Pack 適用済みブート可能 WindowsXP CDを作成してみよう
Windows XP ServicePack3 RC適用のディスクを作るbatファイルを配布。DLしてbatを起動するだけでisoができる。

Service Pack 適用済みブート可能 CD-ROM を作成するには
↑とほとんど同じ。他人のbatが怖い場合はここに載ってるコマンドでやればいい。(まぁ同じだけど)

Windows XP SP2適用済CDを作るソフト
GUIベースでSP適用済みisoが作れるソフトがあるらしい。後で知った




これが出来たら、Macでbootcampを起動し、パーティションを分けて、基本指示に従えばOK



注意点は、
Windowsインストール時のキーボード選択で、一度「s」を押して、その後、106日本語を選ぶのと、
Macからデータにアクセスすることを考えて、FAT32でFormatすること



Windowsのインストールが終わったら、MacのInstallDIsk1を入れて、ドライバのインストール。



OSの選択は、PC起動時に「Option」を押し続けると選択画面が出る。デフォルトはbootcampの設定画面で選択可能



Windowsでの右クリックは、
・「caps」+「shift」+「F10」か、
・パッドを「2本の指」で押さえたままクリック
とかで実現できる。



なんか今日の記事変だww
今回は、Tweenerについて

これのソースあんま出したくなかったけど、 1000spで受けよかったし、自分でもまた使うだろうからメモ








ソース( myTweener.mxml)




Tweenerは、Papervsionに含まれていないので、svnでhttp://tweener.googlecode.com/svn/trunk/をチェックアウトし、Tweenerのソースを落とし、ビルドパスに追加
マウスイベントは、[Papervision3D2.0]#2 GreatWhiteでMouseEventを使うなどしてみると同じようにAddEventListnerする。

実際にTweenさせているのは、renderLoop内のたった7行だけ


トゥイーンは、たった1行
Tweener.addTween(対象オブジェクト, {プロパティ:, time:Tweenする時間(秒)}, transition:Tweenのタイプ)
とするだけでできる。Tweenのタイプ(?)は、閃光的網站・弛緩複合体の tweener も弄ってみた(3)にいっぱい載ってるので、それを参考にした。


<参考>
tweener も弄ってみた(3) 閃光的網站・弛緩複合体
パステルカラー


iKnow

あわせて読みたいブログパーツ
Firefox meter