2009/10/10
[FumioNonaka.com Newsletter: no.070]
//=========================================================================
// [FumioNonaka.com Newsletter]
//
var issue:uint = 70; // 第70号
var published:Date = new Date(2009, 10, 10); // October 10, 2009
//=========================================================================
var index:Object = {
No_0:報道の客観性,
No_1:9月の新ネタ,
No_2:書きもの,
No_3:セミナー,
No_4:よろず新情報,
No_5:スクリプト覚え書き
}; //_____________________________________________________________________
/*
■PR: 新講座開講!!→No_3:セミナー
11月16日月曜日「ActionScript 3.0で学ぶ座標と3次元空間の数学講座」
【No_0:報道の客観性】======================================================
記事のスペースというのは、かぎられています。その中でどう伝えるかは、難しい
ことでしょう。それでも、その記事がどう読まれ、読者がどういう印象を抱くかに、
もう少し記者は気を配るべきではないかと思えることがあります。
読売(09/10/01)「小5自殺 担任体罰が原因、北九州市に賠償命令」
http://www.asahi.com/edu/news/SEB200910010005.html
「訴状によると、元教諭は06年3月16日、永井君が丸めた新聞紙を振り回して同じ
クラスの女児に当てたとして、教室で『謝りなさい』とどなって、いすに座って
いた永井君の胸ぐらをつかんで持ち上げ、そのまま床に押し倒した。永井君は教室
を飛び出し帰宅、直後に自宅で首をつったという。」
この文章を読めば、おそらく男児の精神的な成長に疑問をもったり、親の育て方に
ついて批判的な感想を抱く人が多いでしょう。けれども、つぎの朝日新聞の記事を
読んでみると、少し認識は変わってきます。
朝日(09/10/01)「『小5自殺は体罰』認定 北九州市に880万円賠償命令」
http://www.asahi.com/edu/news/SEB200910010005.html
「さらに担任は、『帰る』と言った匠君に『勝手に帰りなさい』と大声で言い
放った。教室を飛び出した匠君は数分後に戻ったが、『何で戻ってきたんね』と
担任に怒鳴られて再び飛び出した。担任はこのことを両親や校長に知らせなかった。
同日午後4時50分ごろ、匠君が自宅で首をつっているのが見つかった。
判決は、匠君は5年生になってから約1年にわたり担任に頻繁にしかられていたと
認定。『担任への不満を抱えていたところに、本件懲戒を受け、衝動的に自殺に
及んだ』と指摘した。」
裁判官にも常識はあります。因果関係まで認めたということは、それなりの事実の
認定がなされたものと推測できます。「訴状によると、教諭は05年4月ごろから、
匠君の頭を殴るなどの体罰を繰り返し」(徳島09/10/01)たようです[*1]。
http://www.topics.or.jp/worldNews/worldSociety/2009/10/2009100101000509.html
初めの読売新聞の記事も、嘘は書かれていません。すべて真実でしょう。しかし、
記事や報道というのは、ひとつの切り口を見せるだけです。切取り方によっては、
全体像を歪めて捉えさせてしまうこともあるのです。
「客観性」というのは、ただ単に事実にもとづいてさえいればよいというものでは
なさそうです。その事実をバランスよく拾い出す見識が必要だと考えます。 また、
情報を受取る私たちの側にも、それを吟味する眼が必要とされるのでしょう。
_____
[*1] つぎのような報告も、公開されていました。
「北九州市立青葉小学校(2006.3.16)」
http://wiki.livedoor.jp/kyouiku_hiroba/d/%CB%CC%B6%E5%BD%A3%BB%D4%CE%A9%C0%C4%CD%D5%BE%AE%B3%D8%B9%BB%282006%2e3%2e16%29
【No_1:9月の新ネタ】=======================================================
[トラブルシューティング新規情報]
■Flash FN0909001
「クラス定義にプライベートなクラスが複数あるとコンパイルできない」
http://www.fumiononaka.com/TechNotes/Flash/FN0909001.html
クラス定義に複数のプライベートなクラスを加えると、[コンパイルエラー]になり
SWFファイルにパブリッシュ(コンパイル)できないことがあります。
【No_2:書きもの】==========================================================
[gihyo.jp]
■連載「ActionScript 3.0で始めるオブジェクト指向スクリプティング」
・第26回「外部データの読込み待ち」
http://gihyo.jp/dev/serial/01/as3/0026
外部からロードしたデータを操作するために、その読込み待ちの処理を作成します。
[JActionScripters](英語blog)
■Calculation of focalLength
http://blog.jactionscripters.com/2009/09/06/calculation-of-focallength/
[Help]の[PerspectiveProjection]のページでPerspectiveProjection.focalLength
プロパティの説明を見ると、プロパティ値はステージの縦横比をもとに計算される
と述べています。しかし、実際の計算は、違っているようです。
■"Private" classes might cause a compile error」
http://blog.jactionscripters.com/2009/09/08/private-classes-might-cause-a-compile-error/
クラス定義に複数のプライベートなクラスを加えると、[コンパイルエラー]になり
SWFファイルにパブリッシュ(コンパイル)できないことがあります。前掲テクニカル
ノート「クラス定義にプライベートなクラスが複数あるとコンパイルできない」の
英語版に当たる記事です。
[Adobe TV]
■Todoketai Channel - 3分でわかる!ActionScript 3.0新機能
http://tv.adobe.com/jp/#pd+Flash
現在シリーズのPART-4までが配信されています。「Adobe TV」は、オンデマンドの
ビデオによる情報ソースです。
【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年10月21日水曜日6時間
【参加費用】21,000円
【場 所】社団法人日本グラフィックサービス工業会
【募集人数】10名
【テキスト】『FLASH MX対応 FLASHムービーのアイデア箱』
■ActionScript 3.0で学ぶ座標と3次元空間の数学講座
http://www.jagra.or.jp/school/web/actionscript3_math.html
スクリプトによるアニメーションでは、数学や物理学の知識を必要とされることが
たびたびあります。そんなとき、すぐに公式を探す人が少なくありません。けれど
必ずしも都合のいい公式は見つからないでしょう。それに、単純に公式を適用した
だけで、意図した動きになるとはかぎらないのです。
たとえば、アニメーターも、現実の世界の動きをそのまま描く訳ではありません。
デフォルメすることにより「らしさ」を表現することもあります。数学や物理学の
方程式も同じことです。単純に公式を当てはめるだけでなく、その原理や考え方を
理解して、応用する必要があるのです。
この講座は、アニメーションを扱ううえで重要な座標空間に関わる、数学の基礎を
学習します。とくに後半は、高校文系の数学の知識では理解しにくい行列とMatrix
およびMatrix3Dクラスについて解説します。スクリプティングより、数学的な説明
が中心です。
スクリプトは、ActionScript 3.0を使い、イベントリスナーの扱いを理解している
ことが前提となります。数学の知識については、高校文系レベルとします。
【日 時】2009年11月16日月曜日6時間
【参加費用】21,000円
【場 所】社団法人日本グラフィックサービス工業会
【募集人数】10名
【テキスト】『ActionScript 3.0プロフェッショナルガイド』
■基礎から学ぶActionScript 3.0 〜ステップ1
http://www.jagra.or.jp/school/web/actionscript3_step1.html
簡単なスクリプトは書いたことがある、という初学者を対象とした基礎講座です。
スクリプトによるアニメーションを題材にして、ActionScript 3.0の基本と処理の
組立て方・考え方を解説します。おもな学習項目としては、変数と関数、イベント
リスナー、および日付と文字の扱いなどが含まれます。ActionScript 2.0の知識は
前提とはしません。
【日 時】2009年10月26日月曜日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年10月27日火曜日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年10月28日水曜日〜29日木曜日6時間×2日全12時間
【参加費用】54,600円
【場 所】社団法人日本グラフィックサービス工業会
【募集人数】10名
【テキスト】『ActionScript 3.0プロフェッショナルガイド』
[ROKUNANA WORKSHOP OF MEDIA DESIGN]
■Flash CS4 3D講座
http://67.org/ws/workshop/detail/071as.html
Flash CS4 Professionalには、3次元空間の表現力が加わりました。ActionScript
3.0にも、Flash Player 10のこれらの機能を実現するクラスやメソッドが備わって
います。本講座では、3つのクラスとひとつのメソッドをご紹介します。
・Matrix3Dクラス
・Vecotor3Dクラス
・Vecotorクラス
・Graphics.drawTriangles()メソッド
第1のMatrix3Dクラスはインスタンスに3次元座標変換を加えます。第2のVecotor3D
クラスは3次元空間の座標を操作します。第3のVecotorクラスは、直接3次元空間に
関わらないものの、座標その他の複数の値を最適化して扱います。第4のGraphics.
drawTriangles()メソッドは、ビットマップを複数の三角形に分けてマッピングし、
3次元を表現するために用いられます。
これらのクラスやメソッドの使い方と、3次元座標空間の考え方について、サンプル
スクリプトを示しつつ解説します。また、ベクトルや行列などの数学的な基礎にも
触れます。
【日 時】2009年11月13日金曜日6時間
【参加費用】29,800円
【場 所】株式会社ロクナナ
【募集人数】6名
■数学的思考で取り組むActionScript中級講座
http://67.org/ws/workshop/detail/072as.html
スクリプティングには、数学的思考が必要だといわれます。そのとき誤解されがち
なことは、公式を探したり覚えたりして、それをスクリプトに当てはめればよいと
思い込むことです。話はそれほど安直ではありません。けれども、シンプルです。
大切なのは、基本的な仕組みを知って、論理的に考えることです。やみくもに調べ
たり、暗記したりするよりも、まず理解することが必要なのです。この講座では、
数学の公式も紹介しながら、論理的なスクリプトの組立て方を、実習で学んでいき
ます。
数学の知識については、高校文系程度で構いません。スクリプトは、ActionScript
3.0を使い、イベントリスナーの扱いや条件判定を理解していることが前提です。
【日 時】2009年12月12日土曜日6時間
【参加費用】29,800円
【場 所】株式会社ロクナナ
【募集人数】6名
【No_4:よろず新情報】======================================================
[FLASH-Japanネタ]<http://www.flash-jp.com/>
■インスタンス名について
http://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=8989&forum=8
インスタンスに「data」という名前を入力すると、「無効なインスタンス名です」
というエラーが出てしまいます。
■動的MCの中に動的MCを配置したい
http://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=9032&forum=8
ActionScript 3.0では、動的に生成したインスタンスをインスタンス名で扱おうと
するのは止めた方がよいでしょう。
【No_5:スクリプト覚え書き】================================================
■TextAreaコンポーネントのテキストを選択できなくする
[mixi]の[Flash Action Script]コミュニティのお題です。
http://mixi.jp/view_bbs.pl?id=47021338&comment_count=4&comm_id=21394
意外に面倒です。まず、TextAreaコンポーネントには、選択の可否をコントロール
するプロパティが見当たりません。そのため、TextArea.textFieldプロパティで、
コンポーネント内のTextFieldインスタンスを操作しなければならなそうです。
つぎに、コンポーネント内のTextFieldインスタンスは初期化に時間がかかるのか、
私の環境(Flash CS4 Professional/Mac OS X.4.11)では2フレーム分ほど待たないと
TextField.selectableの設定が確定しませんでした。
// フレームアクション
// [ライブラリ]にTextAreaコンポーネントを配置
import fl.controls.TextArea;
var myTextArea:TextArea = new TextArea();
addChild(myTextArea);
myTextArea.text = "sample text";
addEventListener(Event.ENTER_FRAME, setUnselectable);
function setUnselectable(eventObject:Event):void {
var _txt:TextField = myTextArea.textField;
trace(_txt.selectable);
if (_txt.selectable) {
_txt.selectable = false;
} else {
removeEventListener(Event.ENTER_FRAME, setUnselectable);
}
}
■数値を納めた2次元配列の並べ替え
FLASH-japanの「多次元配列のソートについて」をお題にしました。
http://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=9028&forum=6
比較関数はきちんと1、0、-1を返していない点で、少しお行儀の悪い書き方です。
// フレームアクション
var _array:Array =
[[10, 11, 12, 13], [1 ,2 ,3 ,4], [7, 8, 9, 10], [1, 2, 6, 7], [1, 2, 3]];
_array.sort(compare); // 比較関数を使って並べ替え
for (var n:uint = 0; n < _array.length; n++) { // 確認用
trace(_array[n]);
}
// 比較関数定義
function compare(a_array:Array, b_array:Array):int {
var length_a:uint = a_array.length;
var length_b:uint = b_array.length;
var nLength:uint = Math.min(length_a, length_b);
for (var i:uint = 0; i < nLength; i++) {
var nTest:Number = a_array[i] - b_array[i];
if (nTest) {
return nTest;
}
}
return length_a - length_b;
}
*/
//=========================================================================
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);
}


