2008/05/01
[FumioNonaka.com Newsletter: no.053]
//=========================================================================
// [FumioNonaka.com Newsletter]
//
var issue:uint = 53; // 第53号
var published:Date = new Date(2008, 5, 1); // May 1, 2008
//=========================================================================
var index:Object = {
No_0:,Now Writing...
No_1:3月の新ネタ,
No_2:書きもの,
No_3:セミナー,
No_4:よろず新情報,
No_5:スクリプト覚え書き
}; //_____________________________________________________________________
/*
【No_0:Now Writing...】====================================================
現在執筆中の『ActionScript 3.0プロフェッショナルガイド』が、約400ページほど
書上がりました。進捗は80%弱といったところです。次回のニュースまでに、入稿が
終わっていることを希望します(天皇陛下の新年のごあいさつのようですが)。
<http://www.fumiononaka.com/Books/ActionScript3ProfessionalGuide.html>
もうひとつ共著『FLAS OOP』のActionScript 3.0版は、初稿の校正を入れました。
もっとも、著者数が、モーニング娘。と張る大所帯ですので、出版まではもう少し
かかる見通しです。それでも、こちらの方がちょっと早そうです。
<http://cs3book.flashoop.jp/wiki/>
ちなみに、拙著『オブジェクト指向で考えるActionScript』は、出版社が消滅(?!)
したために事実上絶版となっています。それにプレミアがついて、amazonの中古品
では9,000円ほどの値段がついているようです。この値段で売れれば、上記2冊とも
買えるでしょう。思わず本棚を探しましたが、もはや残部はありませんでした。
【No_1:3月の新ネタ】======================================================
[スクリプティング/ActionScript 3.0新規情報]
■Flash FN0803001「関数・メソッドとthis」
<http://www.fumiononaka.com/TechNotes/Flash/FN0803001.html>
オブジェクトに設定した関数やメソッド内におけるthis参照は、ActionScript 3.0
では2.0とは仕様が変わりました。その違いについて、簡単に説明します。
【No_2:書きもの】==========================================================
[雑誌・書籍・Web記事など]
■gihyo.jp「ActionScript 3.0で始めるオブジェクト指向スクリプティング」
・第13回「キーボードによる操作」
<http://gihyo.jp/dev/serial/01/as3/0013>
キーボードの上下左右の矢印キーで、MovieClipインスタンスをその方向に移動させ
ます。それには、キーが押される操作をイベントとして受取って、それが何のキー
かを判別して処理します。
[F-site: ActionScript: Tips]
■ActionScript 2.0で関数内のスコープを確かめる
<http://f-site.org/articles/2008/03/06222106.html>
ActionScript 2.0における関数内のスコープを、サンプルスクリプトにより確かめ
ます。this参照がある場合とない場合についても、タイムラインの関数とクラスの
メソッドで扱いに少し違いが生じます。
【No_3:セミナー】==========================================================
[JaGra PROFESSIONAL DTP & WEB SCHOOL]
■Flash ActionScript中級/ActionScript 2.0
<http://www.jagra.or.jp/school/web/actionscript_advance.html>
マウスに遅れて追いかけるアニメーションやマウスの方向を向くアニメーションと
いったインタラクティブなムービーを素材として、ActionScriptの基本的な考え方
やスクリプトの組み立て方を学習します。
【日 時】2008年5月29日木曜日〜30日金曜日6時間×2日全12時間
【参加費用】39,900円
【場 所】社団法人日本グラフィックサービス工業会
【募集人数】10名
【テキスト】『モーショングラフィックスで学ぶActionScript − Flash MX −』
【No_4:よろず新情報】======================================================
[Adobeネタ]
■Upgrade Flash Authoring for the April 2008 Flash Player Security Update
<http://www.adobe.com/go/kb403415>
開発者向けFlash Playerのセキュリティアップデートが、公開されました。
[FLASH-Japanネタ]<http://www.flash-jp.com/>
■AS3でビデオを乗せたら…プログレスバーが出ない
<http://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=7559&forum=8>
トピックの話題というより、この中で紹介したcolinの記事が興味深いでしょう。
コリン・ムックの"ActionScript 3.0 - WORLD WIDE TOUR"から始めるBlog
「ActionScript 3.0: Is It Hard or Not?(英訳 その2)」
<http://as3worldwidetour.seesaa.net/article/79927519.html>
■効率的なスクリプトの組み方・考え方
<http://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=7557&forum=8>
ActionScriptの参考書の紹介が役立ちそうです。
■イベントリスナーについて
<http://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=7607&forum=20>
ActionScript 3.0でも、呼出された関数はarguments.calleeプロパティで参照でき
ます。
■メインタイムラインのクリックイベント
<http://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=7675&forum=8>
イベントの発生とその扱いは、ActionScript 3.0では従来と大幅に変わりました。
とくに、マウスイベントは、戸惑う点が少なくないでしょう。
【No_5:スクリプト覚え書き】================================================
■ActionScript 3.0でインスタンスの重ね順を変える
ActionScript 3.0では、深度に替わって、親インスタンスがもつ表示リストの中の
インデックスが重ね順を決めます。表示リストは配列と似た操作で管理されます。
インデックス0が最背面で、整数が大きくなるほど前面に配置されます。
重ね順値の変更は、DisplayObjectContainer.setChildIndex()メソッドにより行い
ます。たとえば、3つのMovieClipインスタンスを重ね順がわかるように配置したと
しましょう。
<http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/display/DisplayObjectContainer.html#setChildIndex%28%29>
最背面のインデックス0から最前面の2までのインスタンスに、それぞれmc0、mc1、
mc2とインスタンス名をつけます[1]。
DisplayObjectContainer.setChildIndex()メソッドにより、つぎのように重ね順を
変えることができます。スクリプトはインスタンスを配置したフレームアクション
として記述します。
// 最背面のmc0を真ん中(インデックス1)に移動
setChildIndex(mc0, 1);
// 最背面のmc0を最前面に移動
// DisplayObjectContainer.numChildren: 表示リスト内のインスタンス数を返す
setChildIndex(mc0, numChildren-1);
// 最前面のmc2を最背面(インデックス0)に移動
setChildIndex(mc2, 0);
ところで、DisplayObjectContainer.addChild()メソッドを使うと、インスタンスを
最前面に移動できます。インスタンスはすべての表示リストを通して、ひとつしか
存在し得ないからです。したがって、DisplayObjectContainer.addChild()メソッド
で最前面にインスタンスを加えると、そのインスタンスは以前のインデックスから
消滅してしまうのです。
// 最背面のmc0を最前面に移動
addChild(mc0);
同様に、DisplayObjectContainer.addChildAt()メソッドを使って、インスタンスの
インデックスを任意に変更することができます。
// 最前面のmc2を最背面(インデックス0)に移動
addChildAt(mc2, 0);
_____
[1] スクリプトで動的にインスタンスを作成するには、つぎのフレームアクション
を記述すればよいでしょう。青・緑・赤の3色の円のインスタンスが作成されます。
var mc0:MovieClip, mc1:MovieClip, mc2:MovieClip;
for (var i:int = 0; i<3; i++) {
var _mc:MovieClip = new MovieClip();
_mc.graphics.beginFill(0xFF<<(8*i));
_mc.graphics.drawCircle(0, 0, 20);
_mc.x = i*15+20;
_mc.y = (i%2)*15+20;
addChild(_mc);
this["mc"+String(i)] = _mc;
}
*/
//=========================================================================
var publisher:Object = {
name:野中 文雄,
mailto:fumio@mx10.ttcn.ne.jp,
web:<http://www.FumioNonaka.com>,
credit:2003-2008 (c) Fumio Nonaka all rights reserved.
}; //_____________________________________________________________________
if (wantToUnsubscribe) { // メールマガジンの購読中止は
// つぎのURLでお手続きください
var url:String = "http://www.FumioNonaka.com/Magazine/";
var request:URLRequest = new URLRequest(url);
navigateToURL(request);
}



