コリン・ムーク ギガスゴイ!!
Flash界のもみほぐし屋さん上野さんのblogに書いてあったのですが
コリン・ムックではなくコリン・ムークが正しいそうです。
それはさておき昨日はAdobeさん主催の
「今から始める ActionScript 3.0 - WORLD WIDE TOUR 」に参加してきました。
会場と一緒にOOP基本を押さえながら、AS3で0からのプログラムの構築を行うという
内容でしたが、今までぼんやりとしていた構築の際の気になる点が
すっきりとして「なるほど~」と思わされる事が多く大変勉強になりました。
ノートにメモした内容を覚書としてエントリーさせて頂きます。
1.パッケージ構築のサイトのディレクトリ構造
ドメインの逆の記述で構築するのがポピュラー
「http://www.level-zyass.net」ならパッケージへのディレクトリは
「net/level-zyass/src」のような感じ。
2.public internalの付け方、考え方
パッケージをブラックボックスだと考える
この使っているマイクもスイッチ(ON/OFF)と
ボリュームコントロールしか分かっていない。(だけど使えている)
このスイッチがpublicなもの。
(内部の構造が分からなくても使える。APIを連想)

自動車だとしたらアクセル。ガソリン自動車を電気自動に改造しても
アクセルを踏んだら走るは変わらない
見えなくてもいいのがinternal、内部処理として機能しているが
外に見えている必要がないもの
また、変更してしまう事で構造や、全体ルールに影響が出てしまっては困るもの
たまごっちで言えば最初から空腹にしすぎてすぐに死んでしまったり
満腹にしすぎて何十時間も放置しても大丈夫だったり
(どうしても変更が必要な場合には条件を付けて対応するのが良い)
3.Flash内の挙動的なもの
変数にthisをつける事によりプログラム実行時にFlashは以下の順番で変数を探す
①ローカル変数
②インスタンス変数
的確な記述により処理速度が上がる?
4.用語的なもの
モディファー:手動で作ったもの
セッター・ゲッター:自動化したもの
実行内容は同じですが、少し意味合いが違うらしい
5.staticの意味
クラス内の最低条件として定義して置くことで
マジックバリューとして利用するのが良い。
private static var maxCalories = 2000 //定義
virtualpet.maxCalories //アクセス
条件式で使用する場合にも上記記述内容を使用するのが良い
if(hogehoge > virtualpet.maxCalories/2){
}
Flash界のもみほぐし屋さん上野さんのblogに書いてあったのですが
コリン・ムックではなくコリン・ムークが正しいそうです。
それはさておき昨日はAdobeさん主催の
「今から始める ActionScript 3.0 - WORLD WIDE TOUR 」に参加してきました。
会場と一緒にOOP基本を押さえながら、AS3で0からのプログラムの構築を行うという
内容でしたが、今までぼんやりとしていた構築の際の気になる点が
すっきりとして「なるほど~」と思わされる事が多く大変勉強になりました。
ノートにメモした内容を覚書としてエントリーさせて頂きます。
1.パッケージ構築のサイトのディレクトリ構造
ドメインの逆の記述で構築するのがポピュラー
「http://www.level-zyass.net」ならパッケージへのディレクトリは
「net/level-zyass/src」のような感じ。
2.public internalの付け方、考え方
パッケージをブラックボックスだと考える
この使っているマイクもスイッチ(ON/OFF)と
ボリュームコントロールしか分かっていない。(だけど使えている)
このスイッチがpublicなもの。
(内部の構造が分からなくても使える。APIを連想)

自動車だとしたらアクセル。ガソリン自動車を電気自動に改造しても
アクセルを踏んだら走るは変わらない
見えなくてもいいのがinternal、内部処理として機能しているが
外に見えている必要がないもの
また、変更してしまう事で構造や、全体ルールに影響が出てしまっては困るもの
たまごっちで言えば最初から空腹にしすぎてすぐに死んでしまったり
満腹にしすぎて何十時間も放置しても大丈夫だったり
(どうしても変更が必要な場合には条件を付けて対応するのが良い)
3.Flash内の挙動的なもの
変数にthisをつける事によりプログラム実行時にFlashは以下の順番で変数を探す
①ローカル変数
②インスタンス変数
的確な記述により処理速度が上がる?
4.用語的なもの
モディファー:手動で作ったもの
セッター・ゲッター:自動化したもの
実行内容は同じですが、少し意味合いが違うらしい
5.staticの意味
クラス内の最低条件として定義して置くことで
マジックバリューとして利用するのが良い。
private static var maxCalories = 2000 //定義
virtualpet.maxCalories //アクセス
条件式で使用する場合にも上記記述内容を使用するのが良い
if(hogehoge > virtualpet.maxCalories/2){
}
6.キャストオペレーション
"Food"を継承した"Apple"で”Apple”内に"hasWorm"functionがある場合でも
以下を実行した場合にはエラーとなる
public function **** (foodItem) {
}
if (foodItem is Apple) {
if (foodItem.hasWorm()) {
}
}
キャストオペレーション
以下のように記述しなくてはならない
if (foodItem is Apple) {
if (Apple(foodItem).hasWorm()) {
}
}
7.MVC(Model View Controller)
AS3はMVCで構築するのがよさげ
Model:ロジック部、時間・モデル制御
View:グラフィック表示部
Controller:userからのinput部
講義の時にはControllerはViewに含めて構築してました。
こうして分ける事で1クラス200~300行くらにしてくれた方が
一度に認識出来る範囲なんじゃないかなーとの事
自分への補足ですが細かい部分はAdobeMAXの時の
AS3だけじゃない!まだまだいけるぞAS1/AS2辺りの資料を参考に。
当日の内容はここを参照してくださいとの事でした。
訪れた方の内容復習になれば幸いです。
------
余談ですが「ギガスゴイ」はコリンさんのお気に入りなようで
講義中かなり連呼してましたw
その辺りの詳しい話も上野さんのblogに書いてありましたねw
"Food"を継承した"Apple"で”Apple”内に"hasWorm"functionがある場合でも
以下を実行した場合にはエラーとなる
public function **** (foodItem) {
}
if (foodItem is Apple) {
if (foodItem.hasWorm()) {
}
}
キャストオペレーション
以下のように記述しなくてはならない
if (foodItem is Apple) {
if (Apple(foodItem).hasWorm()) {
}
}
7.MVC(Model View Controller)
AS3はMVCで構築するのがよさげ
Model:ロジック部、時間・モデル制御
View:グラフィック表示部
Controller:userからのinput部
講義の時にはControllerはViewに含めて構築してました。
こうして分ける事で1クラス200~300行くらにしてくれた方が
一度に認識出来る範囲なんじゃないかなーとの事
自分への補足ですが細かい部分はAdobeMAXの時の
AS3だけじゃない!まだまだいけるぞAS1/AS2辺りの資料を参考に。
当日の内容はここを参照してくださいとの事でした。
訪れた方の内容復習になれば幸いです。
------
余談ですが「ギガスゴイ」はコリンさんのお気に入りなようで
講義中かなり連呼してましたw
その辺りの詳しい話も上野さんのblogに書いてありましたねw



コメントする