No.1ベストアンサー
- 回答日時:
「MC(ムービークリップ)を使う」ということですから
MC の特性を生かして
例えば
MC内の フレーム1 と 2 との表示を切り替えることによって
色を変えるという方法をまず考え付くべきでしょうね。
(この方法を使えば,「塗りだけの色を変える」とか「形と色を変える」とかその他色々なことに対応できます。)
しかし...
「使用されている Flash のバージョン」も
「使用している ActionScript のバージョン」も書かれていませんね。。。
これでは具体的なスクリプトなど回答できません。
回答できなければ困るので
こちらで勝手な条件を想定させていただきます。
Flash CS3 以上をお持ちで
ActionScript 3.0 を使って
Flash Player 9 以上用の SWF をパブリッシュするものとします。
この条件であるものとして以下を続けます。
まず,「左の□の赤MC」内は 2フレーム にして
フレーム1 と フレーム2 にキーフレームを作り
フレーム1 には 赤□,フレーム2 には 黄□ の絵を用意します。
※参考【添付図】↓
この作業が終わりましたら
「シーン 1」などメインのタイムラインの編集に戻ります。
そして
ステージ上の「左の□の赤MC」を選択した状態で
プロパティインスペクタ(プロパティパネル)より
例えば「L_mc」というインスタンス名を付けます。
また
ステージ上の「右の□の白MC」を選択した状態で
プロパティインスペクタ(プロパティパネル)より
例えば「R_mc」というインスタンス名を付けます。
その「L_mc」や「R_mc」が存在するタイムラインのフレーム
(例:メインタイムラインのフレーム1)に書くスクリプト例です↓。
//---------------------------
//左の「L_mc」内の再生を停止
L_mc.stop();
//右の「R_mc」上でマウスダウン時に関数 onR_mcMouseDown を実行
R_mc.addEventListener(MouseEvent.MOUSE_DOWN,onR_mcMouseDown);
//関数 onR_mcMouseDown の定義
function onR_mcMouseDown(e:MouseEvent):void {
//「R_mc」のドラッグを開始
R_mc.startDrag();
//マウスアップ時に関数 onStageMouseUp を実行
stage.addEventListener(MouseEvent.MOUSE_UP,onStageMouseUp);
//マウスが動く度に関数 watchHitLR を実行
addEventListener(MouseEvent.MOUSE_MOVE,watchHitLR);
}
//関数 onStageMouseUp の定義
function onStageMouseUp(e:MouseEvent):void {
//「R_mc」のドラッグを終了
R_mc.stopDrag();
//マウスアップ時に関数 onStageMouseUp の実行するのを解除
stage.removeEventListener(MouseEvent.MOUSE_UP,onStageMouseUp);
//マウスが動く度に関数 watchHitLR を実行するのを解除
removeEventListener(MouseEvent.MOUSE_MOVE,watchHitLR);
}
//関数 watchHitLR の定義
function watchHitLR(e:MouseEvent):void {
//もし「R_mc」が「L_mc」にヒットしていれば
if (R_mc.hitTestObject(L_mc)) {
//「L_mc」内の再生を フレーム2 で停止
L_mc.gotoAndStop(2);
} else {
//ヒットしていなければ「L_mc」内の再生を フレーム1 で停止
L_mc.gotoAndStop(1);
}
}
//---------------------------
回答文字数制限にまだ少し余裕があるため
上と同様の構造を作った上での
Flash MX 2004 以上をお持ちで
ActionScript 2.0 を使って
Flash Player 6 以上用の SWF をパブリッシュする場合の
フレームに書くスクリプト例も書いておきます↓。
//---------------------------
//左の「L_mc」内の再生を停止
L_mc.stop();
//右の「R_mc」上でマウスダウン時に実行するメソッドを定義
R_mc.onPress = function():Void {
//「R_mc」のドラッグを開始
R_mc.startDrag();
//マウスが動く度に関数 watchHitLR を実行
this.onMouseMove = watchHitLR;
};
//右の「R_mc」上でマウスアップ時に実行するメソッドを定義
R_mc.onRelease = R_mc.onReleaseOutside = function():Void {
//このMC(R_mc)のドラッグを終了
this.stopDrag();
//マウスが動く度に関数 watchHitLR を実行するのを解除
delete this.onMouseMove;
}
//関数 watchHitLR の定義
function watchHitLR():Void {
//もし「R_mc」が「L_mc」にヒットしていれば
if (R_mc.hitTest(L_mc)) {
//「L_mc」内の再生を フレーム2 で停止
L_mc.gotoAndStop(2);
} else {
//ヒットしていなければ「L_mc」内の再生を フレーム1 で停止
L_mc.gotoAndStop(1);
}
}
//---------------------------
※ご質問には
「(吸着した)とき」と書かれていますが
「(接触した)とき」と解釈を変えています。
(両スクリプトとも,いわゆる吸着はさせていません。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- スピーカー・コンポ・ステレオ BOSE companion20の左右の音量バランスについて 6 2023/03/23 08:56
- 事件・犯罪 パトカーが目の前に停止していてもヤル奴はいる 4 2023/06/28 13:03
- HTML・CSS htmlです。 上のところには黒文字でピカチュウで、ピカチュウの文字には影をすべてにつけてください周 1 2023/01/02 12:48
- モニター・ディスプレイ マルチモニタでのカーソルの動き方 1 2022/06/15 14:59
- バッテリー・充電器・電池 ★ACアダプターの大きさについての質問です♪ 5 2023/02/06 11:11
- バッテリー・充電器・電池 ★ACアダプターの大きさについての質問です♪ 1 2023/02/06 11:06
- 皮膚の病気・アレルギー 足に赤いプツプツしたものができています。 1 2023/02/06 21:21
- 物理学 走行中の電車内の光の見え方について 3 2022/05/19 06:34
- 画像編集・動画編集・音楽編集 Google Earth Pro 高速道路上空を一定の速度で飛ぶツアー動画の作り方は?? 1 2022/06/01 15:10
- その他(映画) 昔の映画の3Dリメイク版。どうやって作るのか? 4 2023/02/16 10:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
arduino プログラムについて
-
uwscでExcelに自動記入
-
Python でシャットダウンのコマ...
-
flash (.swf) を編集したい
-
Giam
-
laptop go2からの買い替え、lap...
-
私のコンピューター上のファイ...
-
Flashコンテンツを使ったWebサイト
-
Flashをブロックしないで
-
Adobe Flash Player
-
Windows10重い
-
パソコンのリカバリーについて
-
ロック画面に天気を表示したい
-
Adobe(マクロメディア)のFLAS...
-
adobe flash playerは無料です...
-
自分でチラシを作りたいです!...
-
ヘッダーデザインをするさい形...
-
FLASH MX で作成した、flashやA...
-
この曲のタイトルを教えてください
-
Flash MXで作成したフラッシュ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
actionscript3.0で親階層にある...
-
【AS3.0】Timerとタイムライン
-
イメージギャラリーの最後まで...
-
Flashで右クリックメニューにつ...
-
フレーム内に移動したい
-
ソーラーパネルのアルミフレー...
-
HPを作りたい
-
【C#】wavファイルの複数同時再生
-
phpで音を鳴らす
-
ドロップフレームの計算をエク...
-
フレーム内のオプションボタン...
-
車の運転時のメガネ 縁なし(...
-
C#でDLLファイル読み込みを行う...
-
オプションボタンを矢印キーで...
-
WEBブラウザの重複起動の禁止
-
VBで動的に作成したパネルの上...
-
Access2010でサブフォームのフ...
-
webサイトに動画をはりつけ、ク...
-
PS5やPS4proに関して質問です。...
-
B2ポスターフレームの自作
おすすめ情報