A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
Flash の コンポーネントはバージョンによって著しく違います。
普通のご質問の場合もそうですが,
コンポーネントに関するご質問の場合は,
お使いのバージョンを書かれた方が良いです。
しかし,
Loaderに表示した画像の拡大/縮小させるようなコンポーネントは私は知りません。
ひょっとしてあるのかもしれませんが,
私はコンポーネント嫌いなのもので,あっても知りません。
いつもは,なるべくしくみを自作で作ります。
自分で作ったものでないとカスタマイズが好きなようにできませんから。
Loader と書かれているところから考えると,
外部JPEGを読み込むのでしょうか?
コンポーネントは本来外部ファイルを読み込むためものではないので,
その辺もよくわかりませんが,
勝手に外部JPEGを読み込むものとして,
その作り方の一例を書きます。
作り方やスクリプトは作るたびに考えるので,いつも違います。
一例だと思ってください。
///////////////////////////////////////////////////////////
◎ まず読み込む場所(ムービークリップ)の準備
「挿入」メニューから「新規シンボル」を選択して,空のムービークリップを 作成すします。
するとなぜか,空のムービークリップ内のタイムラインの編集に自動的に入ってしまいます。
空のムービークリップ内はさわる必要はないので,
「編集」→「ドキュメントの編集」で,メインムービーの編集に戻ります。
そして,「ライブラリウインドウ」 から今作成した空のムービークリップをドラッグして,ステージの上に置きます。
ステージの中央くらいが良いのではないでしょうか。
そのステージ上のムービークリップにインスタンス名を付けます。
この説明では,「ko_img」 というインスタンス名にしておきます。
その「ko_img」 を選択して,下のアクションパネルに次のように書きます。
-------------------------------------
// ムービークリップがロードされたとき
onClipEvent (load) {
// 座標の初期化
this._x = 0;
this._y = 0;
// 幅や高さの半分だけ左上に移動
this._x -= this._width/2;
this._y -= this._height/2;
}
-------------------------------------
この「ko_img」 を選択して,
右クリック→「シンボルに変換」より,さらにムービークリップに変換します。
ムービークリップを2重に入れ子状態にするのです。
そして,新しくできたこのムービークリップにもインスタンス名を付けます。
ここでは,「oya_img」というインスタンス名にしておきます。
親の中に子がいる状態で,子にスクリプトが書いてある状態です。
◎ 次にスライドバー(ムービークリップ)の準備
一応勝手に,横スライドするバーの例です。
高さ10~20px,幅50~100px くらいの塗りの長方形をステージ上に描きます。
ステージ真ん中の下の方が良いと思います。
もしくは,ステージ真ん中の上の方です。
その長方形を選択して,右クリック→「シンボルに変換」でムービークリップにします。
その長方形ムービークリップに次のようなスクリプトを書いてパブリッシュすれば,
一応しくみは完成です。
-----------------------------------------------
// このバーMCが表示されたとき
onClipEvent (load) {
// ムービークリップko_img にJPEGをロード(★可変)
_parent.oya_img.ko_img.loadMovie("image1.jpg");
// このバーの動く幅の設定(★可変)
var scroll_w = 120;
// 拡大・縮小率の設定(★可変)
var mag = 1.5;
// このバーの初期位置を記録
var bar_x = this._x;
var bar_y = this._y;
}
on (press) {
// バーをドラッグで左右にスライドさせる
this.startDrag(false, bar_x-scroll_w, bar_y, bar_x+scroll_w, bar_y);
}
on (release) {
// ドラッグを停止
this.stopDrag();
}
onClipEvent (mouseMove) {
// バーの位置に従って ムービークリップimg を拡大縮小
var scale = (this._x-bar_x)*(mag-1)/scroll_w*100+100;
_parent.oya_img._xscale = _parent.oya_img._yscale=scale;
// 表示を更新
updateAfterEvent();
}
-----------------------------------------------
(★可変) と書いてある3箇所だけを変えるだけで良いです。
また,
ターゲットパスにはあえて全て相対パスを使っていますから,
空の 「oya_img と ko_img」 と バーのムービークリップを1つのムービークリップにさらに変換しても大丈夫です。
そうすると,コンポーネントのようにセットで持ち運び(別のファイルで使い回し)もできます。
どうやって,外部ファイルをロードするのかわからなかったので,
勝手にバーに「image1.jpg」をロードするように書きました。
外部にボタンを作って,
そのボタンにロードするスクリプトを書いても良いと思います。
---例------------------------------------
on (release) {
// ko_img に 「img2.jpg」をロード
_root.oya_img.ko_img.loadMovie("img2.jpg");
}
-----------------------------------------
読み込む 「oya_img と ko_img」を入れ子状にしたのは,
JPEG を拡大するポイントを読み込まれたJPEGの中心にしたかったからです。
こうすると, 「oya_img」の基準点が JPEG の中心に来ます。
拡大・縮小・回転などの基準は,ムービークリップの基準点が中心になるためです。
そんな必要がなければ,
「oya_img と ko_img」のように入れ子にせず,
「oya_img」だけにして,その「oya_img」にJPEGをロードしても良いです。
その場合,「oya_img」にはスクリプトを書く必要もありません。
バーだけのスクリプトになります。
読み込む 「oya_img と ko_img」や,バーの位置を色々変えてもらうとわかると思いますが,
もし既存のコンポーネントにこのようなものがあったとしても,
読み込む座標どこに持っていくとか,
拡大の中心座標をどこに持っていくとか,
そこまで色々自由にできないと思います。
それに,バーの色や形も自由です。
何でしたら,ドラえもんの形のスライドバーでも良いわけです。
既存のコンポーネントを使うとそれ独自のパラメータなどの書き方も,調べる必要が出てきて面倒です。
これくらいなら,
しくみを自作する方が良いとは思います。
だいたい以上です。
ここまで書いて気付きました。
最後になりましたが,コンポーネントという言葉をお使いのところから考えて,
Flash MX 以上をお使いだと推測しました。
上記バーなどのスクリプトは,
Flash MX 以上,Flash Player 6 以上で使用できます。
と言っても,
on (press) {} など,onイベントハンドラが Flash 5 ではムービークリップに使えないだけのことで,
そこを変えれば内容自体は,Flash 5 でも通じます。
この回答へのお礼
お礼日時:2006/08/03 09:12
わかりづらい質問にここまで答えてくださってありがとうございます。
FLASHのバージョンは8です。
今後質問するときは気をつけます。
したいことは、sassakunさんの推測に一致しています。
今から教えていただいた内容を実装していきます。
またわからないことがあれば質問させてください。
取り急ぎお礼まで。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ドライブ・ストレージ HDDの未割り当て領域が認識されない 7 2022/11/27 18:51
- デジタルカメラ 録画した4K動画を、フルピクセルで再生したい 5 2023/05/10 00:05
- その他(ソフトウェア) IrfanView で画像のスクロール?できますか 1 2022/08/31 13:57
- デスクトップパソコン パソコンのこの症状に悩まされる。 6 2023/02/24 12:52
- ホームページ作成・プログラミング 保存したホームページのファイルは何をしている推測できますでしょうか。 1 2023/08/18 15:50
- モニター・ディスプレイ WindowsノートPC 13.3で画面縮小したい 画面全体が見えない めり込んでしまってます 1 2023/01/22 13:42
- イヤホン・ヘッドホン・補聴器 スマホにイヤホンさして、イヤホンのコードを動かすと、ガサガサって音とともに、勝手に、音量調整バー上げ 1 2022/04/17 12:23
- Safari(サファリ) iPhoneのSafariで動画を全画面表示で見ている時、右上の音量調節バーを操作しようとするとコン 1 2022/09/30 21:10
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
- デスクトップパソコン PC作成のスマート対応フアイルへの転換 1 2022/06/18 19:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAのコンボボックスの年月表示...
-
スマホでサイトの画像を長押し→...
-
Giam
-
potplayerについて質問です
-
拡張子「swf」の再生方法について
-
FLASHでゲームを作っていた人は...
-
この曲はなんでしょう?
-
laptop go2からの買い替え、lap...
-
スクリップト
-
私のコンピューター上のファイ...
-
arduino プログラムについて
-
chrome flash
-
FLASHの再生はできないのでしょ...
-
フラッシュゲームアーカイブ2
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Flash Playerのサポートが終了
-
Form内のselectを連動させるに...
-
Flashをブロックしないで
-
ダウンロードしたデジブックはa...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マウス自体の移動量の取得
-
楕円の軌道に傾斜をつける方法...
-
[AS3]自動的に画像が重なってい...
-
MCが放物線を描いて移動
-
FLASHでロールオーバーで他のム...
-
C言語でのマウスを移動とマウス...
-
角度を指定して回転
-
画面の範囲選択
-
正6面体を一定の角度で回転さ...
-
MCの移動,透明の仕方について...
-
Actionscriptでふわふわ感を再...
-
ムービー上の特定の座標上にマ...
-
スライドバーを用いて画面の拡...
-
AS2 初心者です オブジェク...
-
FLASHでの座標取得
-
flashの横幅をどのブラウザで見...
-
進行方向に徐々に停止するスク...
-
ActionScript
-
FLASHのActivescriptでオブジェ...
-
マウスを近づけるとオブジェク...
おすすめ情報