バナーを作ってみた2008-01-18 Fri 09:26
|
[メモ]Flash演習 82007-10-28 Sun 19:50
[ローダー]
読込率の計算 ・ loaderInfo.bytesLoaded … ロード済バイト数 ・ loaderInfo.bytesTotal … 全バイト数 読み込むまで移動しない … stop(); 読み込んだら再生 ・ 再生 … goToAndPlay, goToAndStop ・ 読み込んだかのchk … framesLoaded, totalFrames 読込済フレーム数 全フレーム数 動作chk ・ [動作] - [ダウンロードのシミュレート] ・ [動作] - [ダウンロードの設定] /*** ローディングのプログラミング ***/ stop(); this.addEventListener( Event.ENTER_FRAME, Loading ); function Loading( event:Event ):void { // ロードしたかどうか、チェックする if( framesLoaded == totalFrames ) { // EnterFrame イベントリスナーを削除 removeEventListener( Event.ENTER_FRAME, Loading ); // 5フレーム目から再生 gotoAndStop( 5 ); } else { // 読込率を計算、int()を用いて、整数化 var percent:Number = int( root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal * 100 ); // 読込率を文字で表示 txt.text = "Loading..." + percent + "%"; // 読込率に従って、barの幅を調整 mc_bar.width = percent * 2; } } /*** ここまで ***/ 次は、バーを円にする。 |
[メモ]Flash演習 72007-10-19 Fri 20:01
ドラッグ&ドロップ
→ ドラッグ → ドラッグスタート → ドロップ → ドラッグストップ ○所定の位置に持ってくる → 所定の位置かどうかを判定 ・座標をチェックする ・その場所にヒットしたかチェック → ヒットテスト ☆ドラッグ ・mcを ・マウスが押された時 ・設定値 1.移動中、マウスの中心になるか? 2.移動可能エリア /*** ここからプログラミング ***/ // ドラッグできるようにする mc_Cir.addEventListener( MouseEvent.MOUSE_DOWN, dragging ); // ドロップできるようにする mc_Cir.addEventListener( MouseEvent.MOUSE_UP, dropping ); // 境界外でのドロップを可能にする mc_Cir.stage.addEventListener( MouseEvent.MOUSE_UP, dropping ); function dragging( event:MouseEvent ):void { // 移動できる境界を指定 var bounds:Rectangle = new Rectangle( 0, 0, 300, 300 ); mc_Cir.startDrag( false, bounds ); // 指カーソルアイコンにする mc_Cir.buttonMode = true; } function dropping( event:MouseEvent ):void { mc_Cir.stopDrag(); mc_Cir.buttonMode = false; } /*** ここまで ***/ 次は窓を作ります。 |
[メモ]Flash演習 62007-10-12 Fri 15:42
○マウスの方向に向く
○マウスに近づく ○イベントリスナーの解除 角度 … rotationプロパティ 90°回転 → mc.rotation = 90; ☆ 角度 = Math.aTan2( y, x ); → 角度(ラジアン) /*** ここからマウスストーカーのプログラミング ***/ mc_Cir.addEventListener( Event.ENTER_FRAME, moving ); mc_Tra.addEventListener( Event.ENTER_FRAME, rotating ); mc_Arw.addEventListener( Event.ENTER_FRAME, sniping ); function moving( event:Event ):void { // 移動量の計算 var nDX :Number = ( stage.mouseX - mc_Cir.x ) / 10; var nDY :Number = ( stage.mouseY - mc_Cir.y ) / 10; mc_Cir.x += nDX; mc_Cir.y += nDY; } function rotating( event:Event ):void { // mc_Traとマウスの座標から、xとyの座標を算出 var nX :Number = ( stage.mouseX - mc_Tra.x ); var nY :Number = ( stage.mouseY - mc_Tra.y ); // ラジアンで角度を算出 var nRad:Number = Math.atan2( nY, nX ); // ラジアンを度数に変換 var nDegree :Number = nRad * ( 180 / Math.PI ); // 角度を代入して回線 mc_Tra.rotation = nDegree; } function sniping( event:Event ):void { // 度数かラジアンを算出 var nRad:Number = 45 * ( Math.PI / 180 ); // ラジアンで位置を算出 var nX :Number = Math.cos( nRad ) * 50; var nY :Number = Math.sin( nRad ) * 50; // 位置を設定 mc_Arw.x = stage.mouseX + nX; mc_Arw.y = stage.mouseY + nY; } /*** ここまで ***/ |
[メモ]Flash演習 52007-10-05 Fri 20:55
クリック時、音
} ステージに音設定 → 細かくてできない 再生 時、音 [プログラムから音の操作] 1. リンケージ設定(クラス名を付ける) 2. クラスの生成 3. 生成したクラスのChannelクラスを生成 4. Channelクラスを使って音を鳴らす [ファイル] → [読み込み] → [ステージに読み込み] → [ライブラリ]内の読み込んだ音を右クリック → [リンケージ]をクリックし、[Action Scriptに書き出し] ボタンを作成し、インスタンス名をBtn_startとする。 /*** ここからプログラミング ***/ // 音のクラスを生成 var mySound:Sound = new bgm(); // サウンドチャンネルクラスを生成 var channel:SoundChannel; // ボタンクリックで音がなるようにイベントリスナー登録 btn_Start.addEventListener( MouseEvent.CLICK, playSound ); function playSound( event:MouseEvent ):void { // サウンドチャンネルを使って音を鳴らす channel = mySound.play(); } /*** ここまでで音が鳴る ***/ プーさんのアドバイス → 業界ではインスタンス名を付ける時、まず種類を書いてから識別を書く。 → 悪い(インスタンス名「startBtn」など) → 良い(インスタンス名「btn_Start」など) ステージにボタンを追加し、インスタンス名をbtn_Stopとする。 /*** 音を止める ***/ btn_Stop.addEventListener( MouseEvent.CLICK, stopSound ); function stopSound( event:MouseEvent ):void { // サウンドチャンネルを使って音を止める channel.stop(); } 以上を踏まえて、前回作成したデジタル(紛い)時計にアラームを設定する。 |


