A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
今まで,
ご質問で何を書かれているのかさっぱりわかりませんでした。
しかしよーくよーく,1日ほど考えていると,
ご質問の意味が半分くらいわかった気がします。
とにかくまず,
書かれている用語が無茶苦茶です。
> 大きなシンボルと小さなシーン
イミフメイ……???
シンボル と インスタンス は誰でも間違えますし,
それはどうでも良いのですが,
「小さいシーン」の方がワケワカラン状態でした。
シンボルとインスタンスを作成し、理解しよう!
http://www.1art.jp/flash/le/lesson1/lesson1.htm
シーンとは?
http://www.1art.jp/flash/le/lesson11/lesson11-1. …
上記 URL の通り,
Flash での シーン には,
ご質問されていると予測される シーン とは全然違う,
別の シーン の意味があります。
シーン とは タイムライン の1つの区切りですから,
時間軸 に沿った 時間枠(フレームの区切り) のことです。
しかし,これは Flash に限ったことではありません。
映画や舞台の シーン も同じです。
茶の間のシーン → 出かける玄関のシーン → 駅の改札のシーン
など,1つの 「時間枠」 が 「シーン」 です。
というわけで,
おそらく,ご質問になっているのは,
時間枠ではなくて空間(平面)枠だと思います。
> 大きなシンボルと小さなシーン
↓変更↓
大きなインスタンスとそれを覗かせる小さな枠
ではないでしょうか(おそらく)。
それだと理解もできますし,可能です。
そういうこととして,以下回答します。
あと,Flash のバージョンを書かれていませんが,
勝手に Flash MX 以上(MX,MX2004,8)をご使用だとして回答します。
Flash 5 以下では,下の方法は使えません(別の方法ならできます)。
////////////////////////////////////////////////////
Flash を 起動して,
新規ドキュメント を作成してください。
まず,大きなムービークリップの作成です。
ステージ上に大きめの丸でも描いてください。
その丸を選択して,
右クリック→「シンボルに変換」で,ムービークリップ に変換してください。
ここで「シンボルに変換」をするので,
その ステージ上 に見えている丸は シンボル であるような気がしますが,
実はステージ上 にあるその オブジェクト は インスタンス です。
おそらく Flash の「シンボルに変換」という言葉が悪いのだと思います。
「シンボルに変換」 ではなく 「シンボルに登録」 のような意味だと思ってください。
丸は シンボル として登録されますが,
ステージ上 に見えている物は シンボル ではなく,
シンボル の分身である インスタンス です。
その丸の ムービークリップ を選択して,
下の プロパティインスペクタ で,この インスタンス に インスタンス名 を付けます。
インスタンス名 は 半角英字 から始まる半角英数字の文字列でしたらたいてい何でもかまいません。
大きいムービークリップなので,
ここでは 「bigMC」 というインスタンス名を付けておきます。
次に,小さな枠の作成です。
タイムライン で,
「bigMC」のあるレイヤー より 上のレイヤ ーに,レイヤー を追加してください。
その追加した レイヤー に,
「bigMC」 より小さめの,枠線が黒で塗りが透明(アルファ0%)の四角を描いてください。
注:枠線だけを描くのではなく,
必ず枠線内を透明な塗りで塗りつぶしてください。
半透明でも良いですが,何かの色で塗りぶさないと,
マスク がかかりません。
■■■■■■■■■■■←線は黒
■□□□□□□□□□■
■□□ ココは透明 □□■
■□□□□□□□□□■
■■■■■■■■■■■
その四角全体を選択して,
右クリック→「シンボルに変換」で,
今度も丸と同じく ムービークリップ に変換してください。
その中が透明枠線が黒の ムービークリップ を選択して,
下の プロパティインスペクタ で,この インスタンス に インスタンス名 を付けます。
ここでは 「waku」 という インスタンス名 を付けておきます。
次に,スクリプト の作成です。
しかし……
>> マウスの動きに合わせて画面をずらす方法
↓ 矛盾 ↑
>> マウスを動かすことによって初めてシンボルが動いて
ここが矛盾していますし,
また「マウスの動きに合わせて」という部分が
どういうことを意味しているのかわかりません。
ですから,
思いつく感じで何通りか書いてみます。
タイムラインで,
「waku」のあるレイヤー より 上のレイヤー に,レイヤー を追加してください。
□ レイヤー 筆・・|○| ←スクリプト を書きます
□ レイヤー 筆・・|●| ←「waku」の レイヤー
□ レイヤー 筆・・|●| ←「bigMC」の レイヤー
その一番上の レイヤー の
キーフレーム(○) を選択して,
下の アクションパネル に,
以下4通りある --- 内のいずれかの スクリプトコード を書いてください。
コピペ してくださっても大丈夫です。
◎ 「waku」をドラッグで動かす場合(画面をずらす方法1)
----------------------------------------
// ムービークリップ waku を myMask という名で複製
_root.waku.duplicateMovieClip("myMask", 0);
// bigMC に myMask のマスクをかける
_root.bigMC.setMask("_root.myMask");
// waku をマウス で プレス したとき
_root.waku.onPress = function() {
// waku のドラッグを開始する
this.startDrag();
};
// waku から マウスアップ したとき
_root.waku.onRelease = function() {
// waku のドラッグを終了する
this.stopDrag();
};
// マウス が動くたびに実行
_root.waku.onMouseMove = function() {
// myMask の座標を waku の座標と一致させる
_root.myMask._x = _root.waku._x;
_root.myMask._y = _root.waku._y;
// 実行後,即,表示を更新
updateAfterEvent();
};
----------------------------------------
◎ 「waku」を マウス 追従させる場合(画面をずらす方法2)
----------------------------------------
// マウス追従するスピードの設定(※可変)
var spd = 2/10;
// ムービークリップ waku を myMask という名で複製
_root.waku.duplicateMovieClip("myMask", 0);
// bigMC に myMask のマスクをかける
_root.bigMC.setMask("_root.myMask");
// 1フレーム進む時間ごとに毎回実行
_root.waku.onEnterFrame = function() {
// myMask と waku を マウスの座標に徐々に合わせる
this._x += (_root._xmouse-this._x)*spd;
this._y += (_root._ymouse-this._y)*spd;
_root.myMask._x = this._x;
_root.myMask._y = this._y;
};
----------------------------------------
◎ 「bigMC」を ドラッグ で動かす場合
----------------------------------------
// ムービークリップ waku を myMask という名で複製
_root.waku.duplicateMovieClip("myMask", 0);
// bigMC に myMask の マスク をかける
_root.bigMC.setMask("_root.myMask");
// bigMC をマウスでプレスしたとき
_root.bigMC.onPress = function() {
// bigMC のドラッグを開始する
this.startDrag();
};
// ステージ上のどこかでマウスアップしたとき
_root.bigMC.onMouseUp = function() {
// bigMC のドラッグを終了する
this.stopDrag();
};
----------------------------------------
※↑コレは「bigMC」が枠外に消えると
戻って来ないのでお薦めできません
◎ 「bigMC」をマウス追従させる場合
----------------------------------------
// マウス追従するスピードの設定(※可変)
var spd = 2/10;
// ムービークリップ waku を myMask という名で複製
_root.waku.duplicateMovieClip("myMask", 0);
// bigMC に myMask のマスクをかける
_root.bigMC.setMask("_root.myMask");
// 1フレーム進む時間ごとに毎回実行
_root.bigMC.onEnterFrame = function() {
// bigMC を マウスの座標に徐々に合わせる
this._x += (_root._xmouse-this._x)*spd;
this._y += (_root._ymouse-this._y)*spd;
};
----------------------------------------
※ すべての動作環境
作成可能環境:Flash MX 以上
動作可能環境:Flash Player 6 以上
4つのうちいずれかを選んで,コピペし,
パブリッシュしてもらうか,
「制御」→「ムービープレビュー」で見てもらうと,
何らかの形で枠線の透明な部分だけに 「bigMC」 が見え,
何らかの マウス操作 で 「waku」 もしくは 「bigMC」 のいずれかが動くと思います。
スクリプトの意味は,
// のある行(コメント行)に書いてありますから,
なんとかそれで理解してみてください。
====================
本当は,
ある ムービークリップ を作成して,
その ムービークリップ に
-------------------------
on (press) {
this.startDrag();
}
on (release) {
this.stopDrag();
}
-------------------------
と書いて ムービープレビュー し,
「おー,ムービークリップがドラッグ出来る!」と,感動する。
とか,
ある ムービークリップ を作成して,
その ムービークリップ に,
-------------------------
onClipEvent (load) {
var spd = 2/10;
}
onEnterFrame = function() {
// このMC を マウスの座標に徐々に合わせる
this._x += (_root._xmouse-this._x)*spd;
this._y += (_root._ymouse-this._y)*spd;
};
-------------------------
と書いて ムービープレビュー し,
「しめしめ,ムービークリップがマウス追従する。」と,ほくそ笑む。
とか,
MovieClip.setMask() などという スクリプト をいきなり使うのではなく,
マスクレイヤー を使用して,マスク をかける。
「タイムラインまとめ」
http://tail.s68.xrea.com/html/text/kouza/basic/0 …
「マスクを使って切り抜き効果」
http://www.pref.chiba.jp/clis/ok/ok011/fl4_cont2 …
とか,
少しずつ実験しながら,実感して身につけて行かないと,
上の4つの スクリプト は何を書いているのか理解出来ないと思います。
しかし,そんなことから説明していると,
説明に何日も何週間もかかり,文字だけでの説明は不可能なので,
あまり良くないことだとは思いますが,
この回答では スクリプト で一気にしてしまう方法を書きました。
時間があれば,
on (press) {
this.startDrag();
}
でムービークリップ を ドラッグ してみたり,
マスクレイヤー で マスク をかけてみたり,
そういう基本的なことからやってみてください。
基本的なことから挑戦していくと,
もっと他に方法があることがわかると思いますし,
色々応用ができるようになると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- マウス・キーボード PC画面に表示されているHPなどを上下にスライドさせたい 7 2023/03/17 11:05
- その他(パソコン・周辺機器) 呪われた様な.......様々な不具合について 2 2022/08/26 15:52
- 妊娠 妊娠6ヶ月 性別はどちらでしょうか? 5 2022/05/19 21:14
- YouTube ユーチューブへの動画投稿にサムネイルを付ける方法は? 1 2022/07/21 23:45
- Windows 95・98 Windows11にバージョン アップしました。 2 2023/07/21 18:36
- マウス・キーボード 無線マウスが反応しない 3 2022/05/08 22:22
- その他(パソコン・周辺機器) 2つのPCを行き来する 2 2022/06/15 01:59
- その他(妊娠・出産・子育て) 12週のエコー写真です。 2 2023/03/25 15:10
- 妊娠・出産 無痛分娩反対派ってまだまだ日本では多いのでしょうか? 昨晩、X(旧Twitter)で『#出産シーン』 1 2023/08/09 09:24
- マウス・キーボード マウスのないパソコン 9 2022/03/30 10:53
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【ExcelVBA】ファイル名をセル...
-
五芒星は、悪魔崇拝とどういう...
-
App store のマークってイルミ...
-
FlashMXで絵の反転を繰り返す動...
-
何故、画像がくっついてるんで...
-
ライブラリ内のムービーシンボ...
-
static関数がmapファイルに載ら...
-
テキストボックスの中身をリセ...
-
別のアプリケーションのテキス...
-
全てのテキストボックスをセル...
-
VB.NET2005 DataGridViewでレコ...
-
photoshopで書いた四角の枠の中...
-
python ボタンを押すと複数の関...
-
アセンブリ言語のcasl2について...
-
空白で入力フォームのボタンを...
-
VBScriptでMsgBoxのYesNoボック...
-
テキストボックスにセルの値を...
-
VBAで改行の入ったデータの正規...
-
テキストが変更されたとき
-
Motifのイベントの制御について...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
YOASOBI
-
五芒星は、悪魔崇拝とどういう...
-
【ExcelVBA】ファイル名をセル...
-
シンボル化解除の方法
-
App store のマークってイルミ...
-
合致するシンボル情報は見つか...
-
ActionScriptでプルダウンメニュー
-
Open officeのDrawのシンボル素...
-
ソースファイルを追加すると、...
-
ブレーカーの電気シンボル
-
ESD保護区域等のシンボル入手先
-
static関数がmapファイルに載ら...
-
FLASHにホームページについて
-
Flashでの画像、フェードイン・...
-
共有ライブラリから読み込んで...
-
flashの中心点について
-
ムービークリップの基準点を途...
-
FlashMXで絵の反転を繰り返す動...
-
何故、画像がくっついてるんで...
-
iOSアプリ開発時の画像をFirewo...
おすすめ情報