Flashの最近のブログ記事

※自分の勉強用メモです。誤りがあったらすみません。

とりあえず、慣れるまでは以下と丸暗記して進める。

1. package{ } で囲む。

2. どのクラスが必要かよく分からないので、慣れるまで、以下あたりを無条件でインポートしておく。なお、*が有効なのは、直下の階層まで。

import flash.display.*;
import flash.events.*;

3. ドキュメントクラスは、Spriteをextendsする

4. function内で定義した変数は、他のfunctionからは参照できない。 一階層上のクラス内で定義すれば、他のfunctionから参照できる。

5. クラスのリファレンス
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/class-summary.html

6. flaファイル名、asファイル名、asファイル内のメインクラス名、メインクラス内のコンストラクタ名は同じにする。FLAファイルのドキュメントクラスに指定。

7. スクリプトのみで、ステージにインスタンス名つけてムービークリップ配置するサンプル

8. クラスを分ける時はpackageの外に出すことが多いっぽい。
以下、雛形。package外のクラスはpublicを付けられない(付けるとエラー)。

package {
import flash.display.*;
import flash.events.*;
    public class Main extends Sprite {
        //変数宣言
        var size:Number;

        public function Main() {

        }
    }
}

import flash.display.Sprite;

class Sub1 extends Sprite {
    private var color:uint = 0xFFFFFF;

    public function Sub1() {
    //
    }
    private function draw():void {
    //
    }
}

import flash.display.Sprite;

class Sub2 extends Sprite {
    private static var speed:Number = 3;

    public function Circle(c:uint, t:Object) {
        //
    }
    public function update():void {
        //
    }
}

9. 今日の勉強の成果

package {
    import flash.text.TextField;
    import flash.display.*;
    import flash.events.*;
    public class FlashTest extends Sprite {

        var speed:Number=30;//変数定義、値は大きければ大きいほど遅くなる

        public function FlashTest() {

            // テキスト表示サンプル
            var textfield=new TextField;
            textfield.text="Hello World!";
            addChild(textfield);

            //円作成サンプル
            graphics.lineStyle(20,0xFFD700,1);
            graphics.drawCircle(200,200,100);

            //塗りつぶした円を追加サンプル
            var radius:uint=50;
            var color:uint=0xFFFF00;
            graphics.beginFill(color);
            graphics.drawCircle(50,50,radius);
            graphics.endFill();

            //ムービークリップ作成サンプル インスタンス名も付ける。
            var myCircle:MovieClip=new DrawCircle1();
            addChild(myCircle);

            //EnterFrameイベント追加サンプル
            myCircle.addEventListener(Event.ENTER_FRAME,myEnterFrame);

        }
        public function myEnterFrame(event:Event):void {
            var targetMC:MovieClip=MovieClip(event.target);
            targetMC.x+= (stage.mouseX - targetMC.x) / speed;
            targetMC.y+= (stage.mouseY - targetMC.y) / speed;
        }
    }
}

import flash.display.MovieClip;

class DrawCircle1 extends MovieClip {
    public function DrawCircle1() {
        graphics.lineStyle(15, 0xFF0000);
        // 引数1, 引数2を中心とする半径が引数3の円を描く
        graphics.drawCircle(0,0,20);
    }
}






ウェブカムからの映像に対して動体検知を行います。

Flashで、ウェブカムからの画像にブラー処理をかけるコードです。

Flashで、ウェブカムからの画像にモザイク処理をかけるコードです。

http://amatiny.com/img_search/flash_image_search2.html

Flashを使用したイメージ検索の第二版です。第一版はこちら。

変更点は下記
・Enterキー検知で検索開始
・ロールオーバーで画像サイズを拡大(Fuse Kitを使用)
・1ページ目では、previousボタンを無効化
・右キー/左キーで、次の/前の20件の検索結果に進む

ソースはこちらから。 img_search2.fla


http://amatiny.com/img_search/flash_image_search.html

Flashを使用したイメージ検索を作ってみました。Yahoo画像検索のAPIを使用しています。Googleには画像検索APIが無いのがちょっと意外だった。

ソースはこちらから。 img_search.fla

Flashのセキュリティの制限から、他ドメインのファイルはloadMovieできないと思い込んでいたけど、やってみたらできた。あらためてhttp://www.adobe.com/jp/devnet/flash/articles/fplayer_security_03.htmlを読むと、loadMovieは書いてないので、制限の対象外なんでしょうかね。

ちなみに47行目を以下の様に変えると、画像への直リンクになりますが、怒られそうなので、上記では画像を含むページへのリンクに留めてます。Flash持ってる人は変えたほうが便利かもしれません。

【変更前】
_root["target"+i].url_string = nodeList[i].childNodes[4].firstChild.nodeValue; 

【変更後】
_root["target"+i].url_string = nodeList[i].childNodes[3].firstChild.nodeValue;



ADs by Google

このアーカイブについて

このページには、過去に書かれたブログ記事のうちFlashカテゴリに属しているものが含まれています。

次のカテゴリはpublic artです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.01