smart OR smart

Masato Nakamura weblog

結局Tweenerにしました

結局、FuseKitだとalphaToしたあと、もう一回alphaToさせるのが面倒で、
いちいち条件分岐とかしたくないし、直感的にやりたかったので、
AS2.0ベースでもTweener使うことにしました。

TweenerはonCompleteとかの処理が使いやすいんですよねぇ。
終わったあとにこの処理やってー、っていう流れで作れるから楽。
FuseKitだと、そのへん面倒で。
あと、FuseKitだと、インストールしてる人じゃないとイジれないのがネック。
僕だけがflaファイル全部イジるならともかく、そうでない人もイジる可能性があるし。
その点、Tweenerは、importなのでフォルダごと渡せばイジれる。

とりあえず、Tweener AS2.0版でのメモ。

・x は _x 。アンダーバー必須。
・アンダーバーは他にも、 _y、_alpha、_xscale、_yscaleとかかな。
・FilterShortcutsもinit();すれば使える。_Blur_blurX:0 など。使い方は一緒かな。
・クラスパスを通すのと、importするのも一緒。
・つーか、アンダーバーのあたりを注意すればほぼ同じように使える。

でも、何か、やってて思ったけれども、
AS3.0ベースで直前にいろいろ作っていたせいで、
作り方に違和感があるもんですね。
ムービークリップに直接スクリプト書けるのはでかいけど、
僕はどっちみちフレームに書くことが多いんで、差はないような。

とりあえず、がんばろう。

FuseKitで相対位置をとるには

やっぱFlash超面白い。さわってて、あっという間に時間が過ぎる。

現在の案件はAS2.0ベース。
ていうか、アニメーションでギュンギュンいわせるなら2.0で十分だと思います。
ムービークリップに直接onClipEvent書けるのとか、直感的で楽だわ、やっぱり。
なので、スプラッシュとして視聴者にムービー作るだけなら2.0でいいや。

で、2.0だと、やっぱりFuseKitに超お世話になるわけです。

で、すごい残念なところで今日つまづきました。
Tweenerだと、相対位置に動かすだけなら、

Tweener.addTween(target,{x:x+n,y:y+n,time:2,transition:easing});

って感じで、+いくつ、っていう数字いれるだけで良かったんだけど、
なぜかFuseKitだとうまくいかない。
あれー?こうじゃないのー?

target_mc.slideTo(x+500,y+500,5,0,0,0);

違うみたいだなぁ。動かないや。所定位置から微動だにしない。
にゃあプロジェクトさん
とこの記事読んで、謎が解けた。

FuseKitだと、相対位置は”"で囲むんですねー。
なので、正解は

target_mc.slideTo("500","500",5,0,0,0);

となるわけですか。なるほど。
こういう、情けないミスというか、こんなので時間食うのはもうちょっと何とかしていただきたい。
はい、がんばります。
ていうか、こういうのがアレなら、最初から2.0ベースでもTweener使えって話?
なんか僕、あのコは3.0の子ってイメージが強くて……。
どのみちFuseKitは2.0でしか使えない子だから、2.0ならせめて使ってあげたくて……。

次回からはぜんぶTweenerでいこうと思います。です。

flashメモ・2 / テキストデータはalphaせず

flashの個人的なメモ。

・スムージングをすると、当たり前だけど、ビットマップフォントなんかはにじみますね。
いや、当たり前なんだけどね。スムージング自体が、ビットマップにアンチエイリアスかけるしろものだから。
なんだけど、ビットマップフォント使ってたから、なんでにじむのかちょっと悩んだ。

・ああー。なんで外部ファイルからとったテキストデータがTweenしないのか分かったー!
flashの仕様として、「テキストデータ」はalphaがかけられないらしい!
つまり、例えば「_ゴシック」とかのデバイスフォントを利用していたり、テキスト入力してたりとか。
要は「選択ができるテキスト」はダメっぽい。そっかー。
回避策としては、そのデータをBitmapにしちゃうか、alphaのマスクをかけちゃうかなど。
僕は面倒だからBitmapにしてみた。つまり、その、デバイスフォントじゃなくしてみた。
ちなみにこれ、FlashPlayerのver.10からは問題ないみたい。ちょっとの辛抱か。

・Progressionにて、indexページがあり、その下の階層には、ぜんぶ「TOPへ戻る」的な
ボタンが欲しくて、そんでそれはその階層にいる間は消えないでほしいんだけど、
そういった処理はどうしたらいいんだろう?
indexの子にaboutだlinkだ置いていても、子同士の移動に親を経由しちまう。
だから、いちいちボタンが出たり入ったりする。嫌だなぁ。


と思ってたんだけど、下の階層をぜんぶ一つのコンテナシーンでくくって、
そのコンテナのonLoadにボタン出現、onUnloadにボタン消滅処理を作ることで実現。
ああ、シーン遷移のルールをちょっと分かったぞ。
こういった、通りすぎる時だけの処理をさせるシーンがあってもいいんだねー。なるほろ。

Progressionを学ぶ(4)

すごい初心者なこと。
ProgressionのaddCommandは、ふつうにやると直列処理なのだけど、
たまには同時にコマンドしてよお願いだよぷろぐれっしょん、と思うこともあるので、メモ。

やり方は超簡単。

addCommand(
//並列処理
[
new AddChild(なんたら),
new AddChild(なんたら2)
],
//直列処理
new AddChild(なんたら3)
);

ってやるだけ。うわーい。こんだけだー。
他にもこんな方法もあります。

addCommand(
//並列処理
new ParallelList(0,
new AddChild(なんたら),
new AddChild(なんたら2)
),
//直列処理
new AddChild(なんたら3)
);

パラレルリストをnewする方ですね。
こちらは最初の引数に null とか0を入れないと動かないみたい?

まあ、とりあえずこれで並列処理ができるようになりました。
さて、またがしがし作っていきたいとこです。

rightparen が colon の前に必要です。

スクリプトがしがし書いてて思うけど、
rightparen が colon の前に必要です。だとか
rightparen が leftbrace の前に必要です。だとか
そういうエラーにいちいち惑わされないようにしよう、僕。

意味わかんないし、そういうエラーってつまるところ文法エラーだから、
何か、どこ直せばいいってもんじゃなく、いろいろ間違ってるから、がんばれって話。

ちなみに rightparen っていうのは、「右かっこ」のこと。「)」←これですね。
これが、: (colon)の前に足りねーよ、って言われてるんだけど、
鵜呑みにして「)」入れたところで別のエラー言われるのは見えてるし、いちいち真に受けるなと。
んで leftbrace は、ええっと、たぶん「{」←これのことだと思うけど、
これも別に入れたら直るってもんじゃないので、がんばれって話。

だから、そういうエラーがでたら、文法エラーです、って言われてるんだと思ってください。
はい。思うことにします。


Page 2 of 3123