狭く浅く!

メモ代わりに使わせていただきます。

getChildByName

2008-09-21 03:58:17 | ActionScript 3.0
getChildByName(インスタンス名)で、インタンス名のオブジェクトを参照することができます。

(例)
// フレームアクション
// MovieClipシンボルに[クラス]として"Pen"を設定
var my_mc:MovieClip = new Pen();
my_mc.name = "myName"; //インスタンス名を設定
addChild(my_mc); //stageに追加する(表示する)
var target_mc:MovieClip = MovieClip(getChildByName("myName")); // インスタンス名から参照を取得して操作
trace(target_mc.name); // 出力: myName
target_mc.x = 0; //インスタンス名(myName)のプロパティを変更可能


var my_mc:MovieClip・・・MovieClip型のmy_mcを作成

my_mc.name = "myName";・・・my_mcのインスタンス名をmyNameに設定

var target_mc:MovieClip = MovieClip(getChildByName("myName"));
//インスタンス名がmyNameのオブジェクトをとってきて、MovieClip型に変換(myNameがMovieClip型であるため)
//それをMovieClip型のtarget_mcに代入

trace(target_mc.name); //target_mcのインスタンス名を参照

target_mc.x = 0; //target_mcのxを変更 = myNameのxを変更


インスタンス名さえわかれば、(再度)プロパティを触る事が可能です。


*もし、mainCanvas.addChild(my_mc);などのように、stageじゃないところにmy_mcを追加した場合は、
 MovieClip(mainCanvas.getChildByName("myName"));に変わります。

*また、my_mcがMovieClip型でない場合
 例えば、my_mc:TextAreaの場合は以下の変更点があります。
 var target_mc:TextArea = TextArea(getChildByName("myName"));


メソッド getChildByName

プロパティ name

Linuxを学ぶ

2008-09-19 01:37:54 | Linux
PDF形式で無償の「Linux標準教科書」提供開始

Linuxの教科書が無償pdf形式で配布されていたので、100ページあたりまで読んでみた。

Linuxを知ったかぶっていたので、こういった教科書は本当にありがたい。

しかもクリエイティブコモンズの下に無償!

そして、100ページまで読んで、かなりいろんな事ができるような気分になった。

これは教育機関もどんどん取り入れていくべきだと思います。

普段使ってるPCにはcygwinっていうLinuxの環境をWindowsで再現するソフトが入ってるけど、

全然使ってなかったので、これを機に遊ぼうかな。


『Linux標準教科書』開発プロジェクト

Cygwin - Wikipedia

スワロウテイル

2008-09-18 00:30:19 | 雑談
映画監督を目指している友達の影響で知った「岩井俊二」。

「リリイ・シュシュのすべて」だけは読んだことはあったのだけど、

読書はしない方なのでそれから何も読んでなかった。

最近の風潮で小説を読もうと思い、

昨日から読み始めてたらすぐ読み終えた。

小説は読めないほうだと思うのですが、岩井俊二の小説はすぐ読めてしまう。

あのよく分からない吸い込まれるような感じがなんとなく癖になる。

リリイ・シュシュに続いて、スワロウテイルもそんな感じ。

どんなストーリーかと言われても答えられず、何が面白いのかと聞かれても答えられない。

なんなんだろうあれは・・・。

次は、スワロウテイルの映画を見てみようと思います。

スワロウテイル (角川文庫)

リリイ・シュシュのすべて (角川文庫)

arguments

2008-09-17 00:01:25 | ActionScript 3.0
google先生にいろいろ聞いてたら感心した記事があったので。

イベントを定義したけど、第二引数を関数名ではなく関数そのものにした場合。

addEventListener(Event.ENTER_FRAME,function(e:Event):void{trace("hogehoge")});
removeEventListener(Event.ENTER_FRAME, 関数名がない);

関数を定義したのはいいけど、関数名がないため削除できない。

しかし、下のようにすれば、

var i:int = 0;
addEventListener(Event.ENTER_FRAME, function(e:Event):void{
trace("hogehoge"+String(i++));
  if(i > 100) {
    removeEventListener(Event.ENTER_FRAME, arguments.callee);
  }
});

arguments.calleeで現在実行している関数を参照できるので削除できるみたい。

記事元:Unknown Quality
>勝手ながらかなりそのまま書かせてもらいました。

クラス arguments



startDrag

2008-09-16 22:58:55 | ActionScript 3.0
startDragはドラッグを開始するためのメソッドです。

が、その前にRectangleを。Rectangleは位置情報を定義するためのクラスです。

 var rec:Rectangle = new Rectangle(0,0,300,300);

*画像参照*

Rectangleの数字を1つ変えても、他のプロパティの値は変わりません。

startDrag(false,rec);

false
・・・ドラッグ時に中央に吸着するかしないか。

rec
・・・Rectangle(最小x座標,最小y座標,最大x座標,最大y座標)
recはどこからどこまでドラッグできるようにするかの定義です。

stopDrag()でドラッグを終了します。

クラス Rectangle


メソッド startDrag