トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   とにかくFLASH【FLASHに関して全般】
     Playerでの拡大・ドラッグ機能をボタンで制御できないでしょうか
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tentenko
Åê¹ÆNo.4806
投稿日時: 2004-3-11 14:36
新米
居住地: 広島
投稿: 17
使用環境:
PowerMac G4,OS10.3.5,FlashMX
Playerでの拡大・ドラッグ機能をボタンで制御できないでしょうか
はじめまして。
皆さんのお知恵を頂ければと思い投稿いたします。
Flash MXについての疑問です。
FlashPlayerには、control+クリックか右ボタンクリックで「拡大表示」をする機能がありますが、これをswfファイルの中に置いた「ボタン」をクリックすることで制御できないものでしょうか?
また拡大の後はドラッグして表示部分を動かす事が出来ますが、これは「手のアイコン」になることで判るのでそのまま使いたいのです。
まつむら先生の本にもコンポーネントとして拡大できるもの、あるいは拡大する機能の説明はありますが、Playerを使えれば複雑なActionも必要ないかと思い検討しています。
実現方法をご存知の方お願いいたします。yoro@zb4.so-net.ne.jp
nao
Åê¹ÆNo.4834
投稿日時: 2004-3-11 18:27
職人
居住地:
投稿: 208
使用環境:
WinXP Pro
Flash8 Professional
Re: Playerでの拡大・ドラッグ機能をボタンで制御できないでしょうか
そのまま使えたら面白いかもしれませんね.
でも,その機能を実現する方法はないと思います.
やはりコンポーネントかスクリプトを書いていくしかないと思います.


----------------
nao [seto@graffiti-web.org]

ゲスト
Åê¹ÆNo.4839
投稿日時: 2004-3-11 20:28
Re: Playerでの拡大・ドラッグ機能をボタンで制御できないでしょうか
こんにちは。

もし『手のアイコンの実現』で妥協できるのなら、Mouse.hide()を使ってカスタムカーソルみたいな事は一応出来ます。(描画更新ラグが多少気にはなりますが)
それでもやはりスクリプトを書く方法しか思いつきませんので、その問題は解決しませんね。
答えになっておらずすみません。
引用:
また拡大の後はドラッグして表示部分を動かす事が出来ますが、これは「手のアイコン」になることで判るのでそのまま使いたいのです。

CSSのcursor属性みたいな機能が欲しいとも思いますね。Macromediaにフィードバックしようかしら。
(JavaScriptとの連帯では出来ないですよね)
tentenko
Åê¹ÆNo.4841
投稿日時: 2004-3-11 21:06
新米
居住地: 広島
投稿: 17
使用環境:
PowerMac G4,OS10.3.5,FlashMX
Re: Playerでの拡大・ドラッグ機能をボタンで制御できないでしょうか
ご意見ありがとうございます。
tentenkoです。
Playerの純正機能としてある拡大をFlash上から制御はできないんですね。
困りました、出来るのでは?と思っていましたので・・・

考え方を変えたほうが良いでしょうか。

次のようなことをしたいのですがどうしたら良いのでしょうか。
・いくつかのボタンが配置されたMapがあります。
・Mapとは別に拡大と縮小ボタンがあり、クリックするとMapの一部が拡大されます。
・拡大するとMapの一部しか表示されないので、他の部分を見るためにmapをドラッグできるようにします。
・ドラッグして配置されたボタンをクリックし、外部のswfデータを読み込んで表示させます。
・縮小ボタンを押すとMapの全体が表示されて元に戻ります。

これだけのことなので、FlashPlayerの機能を使えばほとんどが簡単にできそうな気がしています。
ですが、そのためにはユーザーに「右クリック」「control+クリック」の説明をしなくてはなりません。
そこで、ボタンを押してPlayerの機能を使えるようにできないかと思ったのですが。

やはりActionで拡大、ドラッグをさせるしかないものでしょうか。
rin-ko
Åê¹ÆNo.4842
投稿日時: 2004-3-11 22:28
職人
居住地: 東京
投稿: 397
使用環境:
MacOSX10.5/10.4
WinXP SP3
MX2004Pro/CS3
Re: Playerでの拡大・ドラッグ機能をボタンで制御できないでしょうか
tentenkoさん、こんにちは。
うーん、やっぱり説明をするのが一番はやそうですね?。
文章書くだけですみますもん。

引用:
そのためにはユーザーに「右クリック」「control+クリック」の説明をしなくてはなりません。


ちなみに、以下の動作はすべてActionScriptで実現できると思います(ただ、4番目の項目の意味が正確にはわかりませんでしたので、こちらに誤解があるかもしれないです)。
どうしてもムービー内のボタンで制御なさりたいとなると、スクリプトを使うしかないんじゃないでしょうか。MovieClipインスタンスの拡大、縮小、ドラッグなどができるのであれば、簡単なものならすぐ作れると思いますよ。

引用:
・いくつかのボタンが配置されたMapがあります。
・Mapとは別に拡大と縮小ボタンがあり、クリックするとMapの一部が拡大されます。
・拡大するとMapの一部しか表示されないので、他の部分を見るためにmapをドラッグできるようにします。
・ドラッグして配置されたボタンをクリックし、外部のswfデータを読み込んで表示させます。
・縮小ボタンを押すとMapの全体が表示されて元に戻ります。
tentenko
Åê¹ÆNo.4844
投稿日時: 2004-3-11 23:04
新米
居住地: 広島
投稿: 17
使用環境:
PowerMac G4,OS10.3.5,FlashMX
Re: Playerでの拡大・ドラッグ機能をボタンで制御できないでしょうか
tentenkoです。
rin-koさんありがとうございます。

4番目の意味は、Mapに配置してあるボタンのどれかをクリックすると任意のswfファイルを表示する、ということなのでした。
わかりにくくてすみません。

そうですよねぇ、説明をするのが簡単で一番なんです。
でもそれが許されない状況があるもので・・・

実はまだ勉強中でして、MCの拡大や限られた大きさの窓の中でのドラッグというものがが良くわからないのでPlayerを制御できないかと思いました。

簡単にできるものでしょうか?
ゲスト
Åê¹ÆNo.4845
投稿日時: 2004-3-11 23:05
Re: Playerでの拡大・ドラッグ機能をボタンで制御できないでしょうか
う?ん。ちょっと質問されている所が多すぎるのではないかと思います。
マニュアルをきちんと見る、基礎は大事だと思いますよ。

以下はEnlarge_mc、Reduce_mcを押して拡大縮小、Map_mcのドラッグ用ハンドラを作っています。
swfの読み込みはloadMovie()で出来ますので。

参考程度に。
(_root.Enlarge_mc、_root.Reduce_mc、_root.Map_mc)
//最上位フレームアクション

var x, y;
x = Map_mc._x;
y = Map_mc._y;


Map_mc.Button1_mc.onRelease = link_function1;
Map_mc.Button2_mc.onRelease = link_function2;

//拡大、縮小用ハンドラ
Enlarge_mc.onRelease = function(){ zoom(1) };
Reduce_mc.onRelease = function(){ zoom(0) };
function zoom(flag){
  Map_mc._xscale = flag? 200 : 100;
  Map_mc._yscale = Map_mc._xscale;
  Map_mc._x = x;
  Map_mc._y = y;
}

//マスクをMap_mcのサイズ、位置で作成
createEmptyMovieClip("Mask_mc", 0);
with(Mask_mc){
  beginFill(0x000000, 100);
  moveTo(0, 0);
  lineTo(_root.Map_mc._width, 0);
  lineTo(_root.Map_mc._width, _root.Map_mc._height);
  lineTo(0, _root.Map_mc._height);
  lineTo(0, 0);
  endFill();
	
  _x = _root.x;
  _y = _root.y;
}

//マスクを設定
Map_mc.setMask(Mask_mc);
//ドラッグ
Map_mc.Sheet_mc.onPress = function(){
  this._parent.startDrag(false, x, y,
       x + this._parent._width/2 - this._parent._width*this._parent._xscale/200,
       y + this._parent._height/2 - this._parent._height*this._parent._yscale/200);
	
  this.onMouseUp = function(){
    this._parent.stopDrag();
    delete this.onMouseUp;
  }
}

あとはMap_mcの作り方次第です。
tentenko
Åê¹ÆNo.4847
投稿日時: 2004-3-11 23:44
新米
居住地: 広島
投稿: 17
使用環境:
PowerMac G4,OS10.3.5,FlashMX
Re: Playerでの拡大・ドラッグ機能をボタンで制御できないでしょうか
tentenkoです。
マツダショウタさん、ありがとうございます!
ほんとうに、ご丁寧に。
マニュアルやヘルプを見てやっていたのですが、めちゃくちゃになってしまって・・・
アドバイス頂いたスクリプトを参考にして頑張ってみます!! 引用:

マツダショウタさんは書きました:
う?ん。ちょっと質問されている所が多すぎるのではないかと思います。
マニュアルをきちんと見る、基礎は大事だと思いますよ。
ゲスト
Åê¹ÆNo.4863
投稿日時: 2004-3-12 3:44
Re: Playerでの拡大・ドラッグ機能をボタンで制御できないでしょうか
そうですか、頑張ってください。
引用:
マニュアルやヘルプを見てやっていたのですが、めちゃくちゃになってしまって・・・
アドバイス頂いたスクリプトを参考にして頑張ってみます!!

さっきのスクリプトは別に丁寧に書いたわけではないので、もっと分かり易い方法もあるでしょう。
もしマニュアルを見ても何をしているのか分からなければ、どうぞ書き込んでください。
tentenko
Åê¹ÆNo.4884
投稿日時: 2004-3-12 12:08
新米
居住地: 広島
投稿: 17
使用環境:
PowerMac G4,OS10.3.5,FlashMX
Re: Playerでの拡大・ドラッグ機能をボタンで制御できないでしょうか<---スクリプトを置く場所を教えていた
こんにちは、tentenkoです。
いまマツダショウタ さんのスクリプトをみながら試しているのですが、すごく初歩的なことで引っ掛かっています。
すみません、どなたか教えていただけないでしょうか・・

マツダショウタさんのスクリプトで、

//拡大、縮小用ハンドラ
Enlarge_mc.onRelease = function(){ zoom(1) };
Reduce_mc.onRelease = function(){ zoom(0) };
function zoom(flag){
  Map_mc._xscale = flag? 200 : 100;
  Map_mc._yscale = Map_mc._xscale;
  Map_mc._x = x;
  Map_mc._y = y;
}


これは拡大と縮小用のそれぞれのMC(Enlarge_mc、Reduce_mc)に別々に書けばいいのかな?と言う感じはしているのですが、

function zoom(flag){
  Map_mc._xscale = flag? 200 : 100;

のflag?のことがわかりません。
マニュアルにも見つからないので、これは仮で実際には何かをいれなさい、ということかな?とも思っているのですが、そうなのでしょうか。

あとは
拡大ボタン(MC)に
Enlarge_mc.onRelease = function(){ zoom(1) };
function zoom(flag){
  Map_mc._xscale = flag? 200 : 100;
  Map_mc._yscale = Map_mc._xscale;
  Map_mc._x = x;
  Map_mc._y = y;
}


縮小ボタン(MC)に
Reduce_mc.onRelease = function(){ zoom(0) };
function zoom(flag){
  Map_mc._xscale = flag? 200 : 100;
  Map_mc._yscale = Map_mc._xscale;
  Map_mc._x = x;
  Map_mc._y = y;
}

と書けばいいのですね?

それからもう一つ教えてください。
マスクを作成、ドラッグ、などのスクリプトは最初のフレームに書いておけばいいのでしょうか。

こんなことも解らずにごめんなさい、よろしくお願いします。
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops