大阪てら子 21 「AS3教えて!えらい人」
どうも、USKです。
さて、てらこに行ってきました。
てらこレポ書くのも久々な気もします。
(まぁ、まともに勉強してなかったし、、、)
---------------------------------------------------------------------
って、記事を帰ってすぐに書き始めてたんだけど、
そのあと放置してて、投稿するタイミングを逃していました。。。
なんで、今更感がかなりありますが、とりあえず公開だけしときます。
---------------------------------------------------------------------
今回は「AS3教えて!えらい人」ってわけで、
「AS3についての質問大会」でした。
(ATNDにみなさんから募集した質問が載っています)
かく言う僕もAS3はまだまだほとんど触ったことなくて、全然わかってないので、今回の企画はほんと勉強になりました。
そんなわかってない人がわかってないなりに書いてきます!
以下、箇条書きで。
1.class内でparentとrootを多用しちゃわないような、うまい書き方のコツなどあれば教えてください。それがSingletonってやつのことですか?(byシナチク)
・やっぱりparentとかrootを多用しちゃうような書き方はよくない。
・考え方にMVCってのがある。簡単に書くと、
Model - アルゴリズムや計算部分
View - 表示に関する部分
Contoroller - それらを繋ぐもの
【参考】
Model View Controller - Wikipedia
trick7 - FlashとMVCパターン
コリン・ムック氏のたまごっちのサンプルがMVCの勉強にはいいんじゃない?
SSAW06 » Flash ActionScript2.0 実践講座3:Flash OOP詳細
AS3版は本が出ています。
詳説 ActionScript 3.0
2.classがdynamicってどういうこと?じゃあstaticって?(byシナチク)
-
//エラーなし
-
public dynamic class teraco extends Sprite{
-
public function teraco(){
-
this.hoge = "hoge";
-
}
-
}
-
//エラーあり
-
public class teraco extends Sprite{
-
public function teraco(){
-
this.hoge = "hoge";
-
}
-
}
・型宣言なしでもエラーが出なくなる。なんでもあり?
・そのかわり間違ったものを代入してもエラーが出ないのでわかりにくい。
(AdobeMAXで野中さんも型宣言はしたほうが軽くなるよ!って言ってた)
・じゃあどういう時に使うの?
・例えばAS2だと、FuseKitで使うよ!
3.タイムラインにASは書く?クラスに書く?(by j.iida)
・クラスに書く派!
・じゃあ、スクリプトとタイムラインアニメーションだと?
・タイムラインアニメーションを使いたい時ってどうしてる?
・MC内にタイムラインアニメーションを作っておいて、それをリンケージしておくとか。
4.FlexとFlashの違いは?(by シナチク)
・結局同じのもなのでは。
・Flexにはmxmlがある。
・MVCで言えばViewの部分はmxmlで書いて、残りはASで書く。
・けど、mxmlも最終的にはASに変換されるから結局一緒。
・Flexって結局フレームワークだから。
5.AS書く時、何で書いてますか? ・(by j,iida)
・Winだと、FlashDevelop。MacだとFlex Builder、で決まり!?
休憩:パノラマ屋さん二宮さんの自己紹介タイム
AppBankで二宮さんの記事を読んだばっかりだったので、ちょっとびっくりしました!
iPhoneアプリ(直接iTunesが開きます)もダウンロードしてました!
京都・日本・世界の最新パノラマムービー情報:QTVR Diary
なんと今回のてらこの模様を撮影もしてくれました!
写真もさっそく公開されてます。(全員目線入りで超あやしいですがw)
効率の良いデバッグの方法。(byシナチク)
・サンダーボルト
・Flash、Flex標準のデバッガー
【参考】
【デバッグ強化週間】3分でできるデバッグ環境! ThunderBolt AirConsoleまとめ|_level0.KAYAC
・デバッグといえば、メモリ関連の管理で「Hi-ReS! Stats」使ってるよ。
・メモリ関連といえば、ビットマップでメモリの処理が軽くなる話があったけど、これってどういうこと?
ごみ漁り関係(ガベージコレクション関係)を教えてほしいっす。 ステキなクラス設計を。(by ギリギリツーリスト)
・そもそもガベージコレクションってなに?
ガベージコレクション - Wikipedia
・wikipediaの説明じゃわからん!
・びんたさんの説明がわかりやすい!
BeInteractive! [Spark project 勉強会 #06 ありがとうございました]
・System.gc(); で、強制的にガベージコレクションを発動してくれる。けど、これはデバッグプレーヤーでしか動かない。
(FP10からは通常のプレーヤーでも動くようになった??)
・基本、使ったものは片付ける。
- イベントをリッスンしてるものは消す
- addChildしてるやつは消す。
- 参照もってるやつはnullを入れて消す。
・これらを基本的に考えながら作ってやらないとメモリリーク(メモリが漏れてる)が発生しちゃう。

3 Comments
Jump to comment form | comments rss [?] | trackback uri [?]