スクラッチカード
こすった部分に画像があらわれていくアクションの作り方です
解説はつづきから
新規ファイル作成
ステージ設定はサイズを400×300、フレームレートは30に
ライブラリに画像を読み込んでリンケージを選択
ActionScriptに書き出しにチェックを入れて、クラス名をMyPhotoに
ボタンとなるオブジェクトを作成し、ボタンシンボルに変換
インスタンス名をresetBtに
新規レイヤーを追加し、ActionScriptを記述
//ライブラリにあるMyPhotoのビットマップデータを作成 var myPhoto:BitmapData = new MyPhoto(0,0); //灰色の矩形のビットマップデータを作成 var bmd:BitmapData = new BitmapData(240,180,false,0xFF999999); //ビットマップを作成し、灰色の矩形を関連付け var bm:Bitmap = new Bitmap(bmd); //空のスプライト作成 var base:Sprite = new Sprite(); base.x = 80; base.y = 80; base.addChild(bm); addChild(base); //マウスダウンしてるときにマウスムーブイベント追加 base.addEventListener(MouseEvent.MOUSE_DOWN, onDown); function onDown(e:Event):void { base.addEventListener(MouseEvent.MOUSE_MOVE, onMove); } //マウスアップやロールアウトしたときにマウスムーブイベント削除 base.addEventListener(MouseEvent.MOUSE_UP, onUp); base.addEventListener(MouseEvent.ROLL_OUT, onUp); function onUp(e:Event):void { base.removeEventListener(MouseEvent.MOUSE_MOVE, onMove); } function onMove(e:MouseEvent):void { //色情報を収める変数 var color:uint; //マウス位置取得 var curX = e.localX; var curY = e.localY; //色を取得する幅をランダムで変化 var rndX:int = Math.random()*5+5; var rndY:int = Math.random()*5+5; for (var i:int = 0; i<rndX; i++) { for (var j:int = 0; j<rndY; j++) { //myPhotoからマウス位置周辺の色を取得 color = myPhoto.getPixel(curX+i-rndX/2,curY+j-rndY/2); //bmdに取得した色を描画 bmd.setPixel(curX+i-rndX/2,curY+j-rndY/2,color); } } } //リセットボタンを押したらbmdを灰色で塗りつぶす resetBt.addEventListener(MouseEvent.CLICK, onClick); function onClick(e:Event):void { bmd.fillRect(bmd.rect,0xFF999999); }
これでムービープレビューすると以下のようになってるかと思います
以上、スクラッチカードの作り方でした