FumioNonaka.com Newsletter  RSSを登録する

Macromedia Flash & Directorのテクニカル情報を掲載するFumioNonaka.comから最新ヘッドラインをお知らせ。Flash ActionScriptやDirector Lingoなどスクリプトを中心としたTipsやトラブルシューティング、リファレンスなどで構成。

最新号をメルマガでお届けします    
登録 解除

規約に同意して

登録した方には、まぐまぐの公式メルマガ(無料)をお届けします。
2009/08/10

[FumioNonaka.com Newsletter: no.068]

//=========================================================================
// [FumioNonaka.com Newsletter]
//
var issue:uint = 68;  // 第68号
var published:Date = new Date(2009, 8, 10);  // August 10, 2009
//=========================================================================
var index:Object = {
No_0:つるかめ算,
No_1:7月の新ネタ,
No_2:書きもの,
No_3:セミナー,
No_4:よろず新情報,
No_5:スクリプト覚え書き
};  //_____________________________________________________________________
/*
■PR: 8月の公開講座→No_3:セミナー
8月19日水曜日「基礎から学ぶActionScript 3.0 〜ステップ1」
8月20日木曜日「基礎から学ぶActionScript 3.0 〜ステップ2」
8月28日金曜日「応用力に差をつけるActionScript数学講座」

【No_0:つるかめ算】========================================================
算数の問題に「つるかめ算」というものがあります。たとえば、つぎのような問い
です。

つるとかめが、合せて6匹います。足の数の合計は、20本でした。 つるとかめは、
それぞれ何匹いますか?

小学生は方程式を使えないので、「シカクいアタマをマルくする」必要があります。
つるにもかめにも、全員に後ろ足を引込めてもらいます。すると、2本×6匹で12本
足が減り、残りは8本になります。つるは後ろ足を引込めたら、もう足はありません。
したがって、残り8本はかめの前足で、かめは4匹とわかります。よって、つるは2羽
です。とんちのような解法といえます。

中学校になると、方程式を習います。すると、つるをx羽、かめをy匹とおくという
お馴染みの解き方です。私の習った数学の先生は、この意味をていねいに解説して
くださいました(実際には、つるとかめではありませんでしたけど)。

つるとかめのそれぞれの数は、まだわかりません。けれど、それがわかったと仮定
してしまうのだというのです。この考え方は衝撃的でした。ちょうど探偵ドラマで、
犯人の存在を仮定するようなものです。

ごく簡単な理屈のひとつは、犯人は犯行時刻に犯行現場にいなければなりません。
ほかにも犯人であればとるべき行動、知っているはずの事実を書連ねて、その条件
から真実を探り当てる訳です。

つるかめ算に戻ると、xとyを足し合わせたら6(匹)になるはずです。また、xに2本、
yに4本の足の数を掛けて、それらを合計したら20(本)にならなければなりません。

	x + y = 6
	2x + 4y = 20

あとは、この連立方程式を機械的に解くだけです。数学が嫌いという人は、どうも
この機械的な計算にばかり気を奪われる傾向があるように感じます。大切なのは、
仮定から条件となる式を立てることなのです。

おまけとして、仮定と理解すると、もうひとつ必要な作業が生じます。犯人ならば
アリバイがないのは確かとしても、アリバイがなければ犯人とは断定できません。
つるかめ算でも、足の数の合計が10本でしたら、連立方程式の解は求まるものの、
一方がマイナスの値になります。

この問いの答としては、負の数や小数値は不適切でしょう。すると、問題に適した
解はないという結論になります。計算ばかりでなく、問題の意味を考えるのが重要
という所以です。

【No_1:7月の新ネタ】====================================================
[リファレンス新規情報]
■Flash FN0907001「IKArmature.registerElements()メソッド」
<http://www.fumiononaka.com/TechNotes/Flash/FN0907001.html>
インバースキネマティクス(IK)を、アーマチュアが備わる[ライブラリ]シンボルの
インスタンスに対して動作可能にします。[ライブラリ]のMovieClipがアーマチュア
をもち、実行時にインスタンス化されるときは、このメソッドを呼出して実行時の
インバースキネマティクス効果を可能にしなければなりません。

【No_2:書きもの】==========================================================
[JActionScripters]
■Resizing the drop down list of ComboBox when removeItem() is called
<http://blog.jactionscripters.com/2009/07/28/resizing-the-drop-down-list-of-combobox-when-removeitem-is-called/>
ComboBox.removeItemAt()メソッドでComboBoxコンポーネントインスタンスの項目を
削除しても、ドロップダウンリストの大きさがもとのままで、高さが縮みません。

バグなどの情報については、公開範囲を広げる目的から、今後も本blogへの投稿が
最新になっていくと思われます。ただし、多くの記事は追って日本語化します。

【No_3:セミナー】==========================================================
[JaGra PROFESSIONAL DTP & WEB SCHOOL]
■Flash ActionScriptベーシックトレーニング(初級)/ActionScript 1.0
<http://www.jagra.or.jp/school/web/actionscript_basic.html>
この講座はActionScriptについて、いわば英会話の学習に当たります。細かな文法
には深入りせず、スクリプトというものはどう記述し、それがどのように動作する
のかということを理解していただきます。

とくにカリキュラム最後の「スライドショー」は、簡単な書き方から汎用的な処理
方法まで、段階を踏んで解説します。その実習をとおして、スクリプトを組立てる
視点についても垣間見ることができるでしょう。

本講座の受講に際しては、Flashアニメーションの基本、具体的にはタイムラインや
フレームの操作とシンボルの作成について理解していることが前提です。けれど、
スクリプトを書いた経験は不要です。
【日  時】2009年9月17日木曜日6時間
【参加費用】21,000円
【場  所】社団法人日本グラフィックサービス工業会
【募集人数】10名
【テキスト】『FLASH MX対応 FLASHムービーのアイデア箱』

■基礎から学ぶActionScript 3.0 〜ステップ1
<http://www.jagra.or.jp/school/web/actionscript3_step1.html>
簡単なスクリプトは書いたことがある、という初学者を対象とした基礎講座です。
スクリプトによるアニメーションを題材にして、ActionScript 3.0の基本と処理の
組立て方・考え方を解説します。おもな学習項目としては、変数と関数、イベント
リスナー、および日付と文字の扱いなどが含まれます。ActionScript 2.0の知識は
前提とはしません。
【日  時】2009年8月19日水曜日6時間
【参加費用】21,000円
【場  所】社団法人日本グラフィックサービス工業会
【募集人数】10名
【テキスト】『ActionScript 3.0プロフェッショナルガイド』

■基礎から学ぶActionScript 3.0 〜ステップ2
<http://www.jagra.or.jp/school/web/actionscript3_step2.html>
ActionScript 3.0の基礎の学習を終えた初級者が対象です。MovieClipインスタンス
をインタラクティブにアニメーションさせるムービーを作成しながら、座標と座標
空間の扱い、条件判定、配列やObjectの操作などについて学びます。関数を基本に
すえた処理のパーツ化についても、実習をとおして理解していただきます
【日  時】2009年8月20日木曜日6時間
【参加費用】21,000円
【場  所】社団法人日本グラフィックサービス工業会
【募集人数】10名
【テキスト】『ActionScript 3.0プロフェッショナルガイド』

■基礎から学ぶActionScript 3.0 〜ステップ3
<http://www.jagra.or.jp/school/web/actionscript3_step3.html>
ActionScript 3.0の基本的なスクリプティングの知識をもった初級者が対象です。
3D風に回転するアニメーションのスクリプトを出発点に、クラスの定義やイベント
の配信までデザイン(設計・構成)を展開していきます。三角関数や数学的な考え方、
クラスの応用についても触れます。変数や関数、条件判定、イベントリスナーなど
基礎事項は、学習されていることが前提です。
【日  時】2009年9月7日月曜日〜8日火曜日6時間×2日全12時間
【参加費用】54,600円
【場  所】社団法人日本グラフィックサービス工業会
【募集人数】10名
【テキスト】『ActionScript 3.0プロフェッショナルガイド』

[ROKUNANA WORKSHOP OF MEDIA DESIGN]
■応用力に差をつけるActionScript数学講座
<http://67.org/ws/workshop/detail/061as.html>
スクリプトでアニメーションを作成しようとするとき、数学や物理学の知識がよく
必要となります。そんなとき、すぐに公式を探そうとする人が少なくありません。
けれど、都合のいい公式がいつも見つかるとはかぎりません。また、単純に公式を
適用しただけでは、意図した動作ができないこともあります。

目的を達するには、動きを再現するうえで重要な部分とそうでない部分を見極めて
分析する必要があるのです。単純に公式を覚えて適用するだけでなく、その原理や
考え方を理解して、応用しなければなりません。

本講座は、アニメーションを扱ううえで重要な座標空間に関わる、数学の基本的な
項目を学習します。とくに後半は、高校文系の数学の知識では理解しにくい行列と
MatrixおよびMatrix3Dクラスについて解説します。

スクリプティングよりも、数学的な説明が中心です。スクリプトは、ActionScript 
3.0を使い、イベントリスナーの扱いを理解していることが前提となります。
【日  時】2009年8月28日金曜日6時間
【参加費用】29,800円
【場  所】株式会社ロクナナ
【募集人数】6名
【テキスト】『ActionScript 3.0プロフェッショナルガイド』

【No_4:よろず新情報】======================================================
[FLASH-Japanネタ]<http://www.flash-jp.com/>
■AS3.0 初歩的な質問【パスの通し方】
<http://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=8810&forum=6>
DisplayObject.parentプロパティの値はDisplayObject型です。値をタイムラインの
参照として扱う場合には、キャストが必要です。

■Stageリサイズ時の背景MC拡大縮小するカスタムクラス作成
<http://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=8820&forum=8>
DisplayObjectのサブクラスを定義したとき、インスタンスが表示リストに加わって
いないと、アクセスできないプロパティがあります。

■動画ファイル
<http://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=8821&forum=11>
Flash Playerで再生できるビデオ形式はSWFもしくはFLVです。対応フォーマットが
かぎられているのは、Playerサイズやセキュリティの考慮によるものでしょう。

■for文での、MovieClip.id=i は、OK、Sprite.id=i は、NGの理由
<http://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=8857&forum=20>
MovieClipはdynamicなクラスです。他の多くのクラスはそうではありませんので、
注意が必要です。

■ローディングの際、読込状況パーセントを表示する方法について
<http://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=8880&forum=6>
リスナー関数(メソッド)にイベントオブジェクト以外の引数は渡せません。

【No_5:スクリプト覚え書き】================================================
■DataGridColumn.cellRendererプロパティに文字列を指定する
DataGridColumn.cellRendererプロパティには、DataGridインスタンスの列のセルの
表示を処理するクラスが設定できます。他方で、プロパティに設定する値として、
Stringで「クラスの完全修飾名を指定」できるとされています。
<http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/fl/controls/dataGridClasses/DataGridColumn.html#cellRenderer>

// フレームアクション
import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
var myColmn:DataGridColumn = new DataGridColumn("data");
var myDataGrid:DataGrid = new DataGrid();
myDataGrid.addColumn(myColmn);
// myColmn.cellRenderer = "CustomCellRenderer";  // エラー#2007
myColmn.cellRenderer = CustomCellRenderer;  // OK
myDataGrid.addItem({data: "test"});
addChild(myDataGrid);

しかし、実際にStringで指定すると、以下のようなエラーが起こります[*1]。

	TypeError: Error #2007: パラメータchildはnull以外でなければなりません。

参考までに「ActionScript 2.0 コンポーネントリファレンスガイド」を見てみると、
この値は「シンボルのリンケージ識別子」とされています。
<http://help.adobe.com/ja_JP/AS2LCR/Flash_10.0/help.html?content=Part3_Using_V2_Components_1.html>

そこで、空のMovieClipシンボルを作成し、その[リンケージ]の[クラス]に設定した
うえで、DataGridColumn.cellRendererプロパティに文字列の識別子を指定(上記の
スクリプトでコメントのステートメントを有効に)してみると、正しく動作しました。

どうやら、文字列で指定するのはシンボルの[リンケージ]で指定された[クラス]の
ようです。
_____
[*1] カスタムクラスとしては、たとえばつぎのような定義を用います。

package test{
	import fl.controls.listClasses.CellRenderer;
	import flash.filters.BevelFilter;
	public class CustomCellRenderer extends CellRenderer {
		public function CustomCellRenderer() {
			trace(this);
			this.filters = [new BevelFilter()];
		}
	}
}

*/
//=========================================================================
var publisher:Object = {
name:野中 文雄,
mailto:fumio@mx10.ttcn.ne.jp,
web:<http://www.FumioNonaka.com>,
credit:2003-2009 (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);
}
最新号をメルマガでお届け
登録 解除

規約に同意して

登録した方には、まぐまぐの公式メルマガ(無料)をお届けします。

最近の記事

上へ戻る