http://www.nhk.or.jp/kokokoza/
このウェブサイトのように、カーソルがあたるとぐるっと画像が動くようにしたいのです。どんな指定をするべきでしょうか。
No.1ベストアンサー
- 回答日時:
> どんな指定をするべきでしょうか。
「どんな指定」と軽く書かれているところにFlashを全然知っていらっしゃらないという不吉な予感がします。
作成が難しいということはなくどちらかと言うと比較的簡単なことですが,「指定」という次元の話ではありません。
Flashは基本的に,
「自分で動かしたいように構造を作成したりActionScriptプログラミングなどをして動かす」
ものです。
つまり,「動かしたいように動かす。そのためにしくみを作る。」のです。
またこれを作成するためには,
少なくとも Flash 作成ソフトが必要です。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Flash作成ソフトのソフト名も書かれていなければ,
またそのFlash作成ソフトのバージョンも書かれていません。
これでは回答不可能です。
したがって勝手に,
Macromedia(現Adobe) Flash MX 以上のバージョンをお持ちだということで下記を回答します。
Flash MX 以上 とは Flash MX,Flash MX 2004,Flash 8,Flash CS3 Professional のことです。
=============
新規ドキュメントを作成して,
矩形ツールでステージ上に 80×80px くらいの正方形塗りを描きます。
※Flash CS3 Professional の場合は,
この時点で「ファイル」→「パブリッシュ設定」で「Flash」タブを選択し,
ActionScriptのバージョン を
ActionScript2.0 か ActionScript1.0 にしてください。
その正方形(=■)を選択して,反時計回りに45°回転させます(=◆)。
その◆を選択して,「修正(または挿入)」→「シンボルに変換」でムービークリップに変換します。
このムービークリップに変換するとき,
「基準点」を真ん中にチェックして「OK」しムービークリップに変換します。
基準点(R):□□□
□■□
□□□
ムービークリップに変換をしましたら,
その◆のムービークリップを選択した状態で,
下のプロパティインスペクタ(プロパティパネル)を表示させて,
左の方にあるインスタンス名を付ける部分,
[ムービークリップ v]
[ <インスタンス名> ]
となっている <インスタンス名> のグレーの文字部分にインスタンス名を付けます。
インスタンス名は半角文字でアルファベットから始まっていれば何でもかまいませんが,
この説明では「ko_mc」というインスタンス名を付けることにしておきます。
「ko_mc」の意味合いは「子ムービークリップ」です。
(後でさらに「親ムービークリップ」の中に入れるので「子ムービークリップ」です。)
そのステージ上の「ko_mc」を選択して,
今度は時計回りに45°回転させます。
最初は反時計回りに45°,今回は時計回りに45°ですから,
また最初の正方形と同じ向き(■)に戻すということです。
何をしているのかと言うと,「ko_mc」のx軸の方向を変えているのです。
■を普通にムービークリップに変換した場合
「ko_mc」のx軸=横方向
■■■■■
■■■■■
<─ x ─>
■■■■■
■■■■■
■を◆にしてムービークリップに変換し ■に戻した場合
「ko_mc」のx軸=斜め方向
┌■■■■
■\■■■
■■ x ■■
■■■\■
■■■■┘
この元の向きに戻った「ko_mc」を選択して,
「修正(または挿入)」→「シンボルに変換」でもう一度ムービークリップに変換します。
このムービークリップにはこの説明上インスタンス名は不要です。
インスタンス名は不要ですが,便宜上「親ムービークリップ」と呼ぶことにします。
「親ムービークリップ」をダブルクリックするなどして,
その「親ムービークリップ」内のタイムラインの編集に入ります。
「親ムービークリップ」内のタイムラインは,
1レイヤー(レイヤー1)だけがあってそのレイヤーに「ko_mc」があるはずですから,
その レイヤー1 と書いてある文字部分を選択し,
右クリック→レイヤーを挿入 あたり(バージョンやOSによって少し仕様が違う)でレイヤーを追加します。
その追加したレイヤーに,
「ko_mc」と同じ大きさの正方形塗りを,
ちょうど「ko_mc」に重なるように今度は透明な塗り(アルファ0%)で描きます。
この塗りはマウスカーソルのヒットエリアになります。
□ レイヤー2 ・・・□|●| ←透明な塗りの正方形
□ レイヤー1 ・・・□|●| ←「ko_mc」
透明な正方形塗りが描けましたら,
「編集」→「ドキュメントの編集」などでシーン1などメインのタイムラインの編集に戻ります。
タイムラインの編集に戻ると,そこには「親ムービークリップ」があるはずですから,
その「親ムービークリップ」を選択した状態で下のアクションパネルを表示させます。
アクションパネルが出ていない場合は,「ウィンドウ」→「アクション」などで表示させます。
アクションパネルを表示させますと,
パネルの右半分以上に白いスクリプトを書く部分があると思いますから,
その部分に次の ActionScript を記入(コピペ)します。
--------------------------------------
// このムービークリップが表示されたとき
onClipEvent (load) {
//回転するスピードの設定(適当に変える)
speed = 1/20;
// 変数 kodo(弧度) を1回転に初期設定
kodo = 2*Math.PI;
// フラグの初期値を false にしておく
flag = false;
}
// このムービークリップにロールオーバーしたとき
on (rollOver) {
// フラグ が true でない場合
if (!flag) {
// フラグを true にする
flag = true;
// 変数 kodo(弧度) を 0 にする
kodo = 0;
}
}
// 1フレーム進む時間毎に随時実行
onClipEvent (enterFrame) {
// kodoを 1回転 に speed の割合ずつ近付ける
kodo += (2*Math.PI-kodo)*speed;
// ko_mc の横スケールを Math.cos(kodo)*100 にする
ko_mc._xscale = Math.cos(kodo)*100;
// もし1回転にある程度近付けば
if (kodo>=2*Math.PI-1/2 && flag) {
// フラグを false に戻す
flag = false;
}
}
// このムービークリップをクリックしたとき
on (release) {
// 他のページにジャンプさせる場合
getURL("他のページのURL");
}
--------------------------------------
あとは,
「制御」→「ムービープレビュー」などで動作確認できると思います。
または SWF をパブリッシュしても良いです。
上記スクリプトはなるべくシンプルにした1つの例です。
書き方は様々です。
実際はフレームにまとめて書いているかもしれませんし,
カスタムクラスなどを作成しているのかもしれません。
Math.cos() とは数学の cos(コサイン)のことです。
Math.PI とは数学の π(パイ)のことです。
cos や弧度(角度の単位の一つ)の説明まではここではできません。
この辺は ActionScript というよりも数学です。
もし数学がわからなくて知りたい場合は高校数学の教科書や参考書などで勉強してください。
※上のスクリプトでは,
説明の都合上「1回転」とかいう言葉を使っていますが,
実際は回転など全くしていません。
kodo を変化させて得られる Math.cos の値を利用して
「ko_mc」 の _xscale を 100~-100 の範囲で
変えているだけです。
グルグル回転するアニメーションは,
「ko_mc」内にモーショントゥイーンで作成して,
その「ko_mc」のタイムラインを play() させたり stop() させてもかまいません。
そうすれば,cos や π などは不要になります。
しかし,
モーショントゥイーンの作成方法までは書けません。
もっと長い説明になってしまいますし,図入りの本などを参考にする方が良いと思います。
↑以上「指示」のような次元の話ではありませんよね。
「そう動くように自分で作る」のです。
ここが面倒と言えば面倒ですし頭を使うところですが,
逆に言えば自分が動かしたいように自由に動かすことが可能だということです。
Flashの上の方ではハトが飛んできて留まって首を振っていますが,
これも「ハトが飛んできて留まって首を振る」というような指定をしているのではなく,
そういうアニメーションやしくみを地道に作っているのです。
なお,
Flash 作成定番ソフトMacromedia(現Adobe) Flash での作成方法を書きましたが,
Suzuka などフリーのソフトでもこのくらいは当然できます。
また上で書いたActionScriptも共通で使えます。
ただしソフトの仕様(使い方作り方)は違うので作成方法は上のものとは全く異なります。
「Suzuka」
http://www.cty-net.ne.jp/~uzgensho/
もし Flash MX 以上をお持ちでない場合は使ってみられるのも良いかもしれません。
懇切丁寧で明晰なご解答をしていただき、感謝致します。
ご指摘なされる通り、当方はウェブサイトやFlashに関して
とてつもない初心者だということが身に染みてよくわかります。
なるほどなるほど。これからSuzukaにていろいろ、試すところから
はじめてみようと思っています。Suzukaですと、やはり教えていただいた作成方法とはまったく異なるのですね。しかし、自分には全く不可能な領域かと早とちりしてしまっていたので、大変励みになるご解答でございました。本当にありがとう御座います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 画面上のカーソルに文字数字を入力するコードを教えて下さい 1 2022/10/30 10:31
- マルウェア・コンピュータウイルス FlashPlayerの削除とマルウェア感染について 5 2023/02/23 20:52
- HTML・CSS リンクバナーのHTMLタグ。画像を変えたり、設置位置を変えるとバナー貼付け側はどう見える? 2 2023/02/01 12:01
- モニター・ディスプレイ マルチモニタでのカーソルの動き方 1 2022/06/15 14:59
- マナー・文例 手紙はどれで書きますか?「ウェブ」「WEB」「Web」 2 2022/07/10 09:59
- Windows 10 Windows11タスクバーやエクスプローラー、スタートメニュー 動画全画面時にカーソルが見えない 1 2022/04/08 00:03
- 日本語 手紙はどれで書きますか?「ウェブ」「WEB」「Web」 4 2022/07/10 10:34
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- Firefox(ファイヤーフォックス) Firefoxのタブ上部の余白を無くす方法 1 2022/06/09 09:06
- その他(プログラミング・Web制作) このWEB用語、WEB文章、意味が分かりますか? 理解できない人が多いようなんですが・・・ 7 2022/10/22 09:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画面全体にマスク
-
長方形がランダムに消えるやつ
-
フレームでページ分かれていて...
-
Flashで右クリックメニューにつ...
-
C言語 バッファについて。
-
C#でDLLファイル読み込みを行う...
-
Flashファイルのループ再生方法
-
URLを隠す、または別アドレスな...
-
FLASH上でインラインフレームみ...
-
車の運転時のメガネ 縁なし(...
-
ハードディスク DVD 読み...
-
Directshowを使って動画を画像...
-
2Dゲーム作成する際、アニメー...
-
A.S 3.0 キーボードでのフレー...
-
三角形ABCのBを可変にしたい
-
FlashMX フェードアウト
-
ムービークリップの位置と角度...
-
フレーム内のオプションボタン...
-
メガネのフレームが半分に折れ...
-
VBで動的に作成したパネルの上...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FLASH liteで選択したグラフィ...
-
スライドバーを使って画像を変える
-
ロールオーバーしたボタンは押...
-
Flash Lite 1.1で、複数のMCをA...
-
Flash8 チェックボックスのラベ...
-
Flashで一部レイヤーだけループ...
-
Flashでタイムライン表示割合を...
-
flashボタンオーバーで残像を残...
-
フラッシュで作る地図
-
時計がついたスライドショーが...
-
Flashロールオーバーボタンと画...
-
flash mxで処理を待機させてお...
-
Flashで右クリックメニューにつ...
-
フレーム内に移動したい
-
ソーラーパネルのアルミフレー...
-
HPを作りたい
-
【C#】wavファイルの複数同時再生
-
phpで音を鳴らす
-
ドロップフレームの計算をエク...
-
フレーム内のオプションボタン...
おすすめ情報