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

パスワード:


パスワード紛失

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

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
Åê¹ÆNo.4920
投稿日時: 2004-3-12 18:13
Re: Playerでの拡大・ドラッグ機能をボタンで制御できないでしょうか<---スクリプトを置く場所を教えていた
おっと失礼、何フォーラムか忘れておりました。

引用:
さて。そろそろ話題の中心が「画面を拡大表示するスクリプト」になってきた感じですね。
もしまだ盛り上がる(笑)ようなら、続きは『コーダーズルーム』のほうへ、移動頂いてもよろしいでしょうか?
笠居トシヒロ
Åê¹ÆNo.4919
投稿日時: 2004-3-12 18:10
マスター
居住地: 兵庫
投稿: 870
使用環境:
SnowLeopard, Safari4, CS4
Windows7, IE8, CS4
Re: Playerでの拡大・ドラッグ機能をボタンで制御できないでしょうか<---スクリプトを置く場所を教えていた
引用:
はい、移動ですね。
どうすればよろしいですか?(すみません初めてなので)

あ、コーダーズルームのほうで
『画面を拡大表示するには?【とにかくフラッシュより移動】』
とでもタイトルをつけて、新スレッドを立てていただければOKですー。


----------------
笠居 マッドシー
http://www.mad-c.com/

tentenko
Åê¹ÆNo.4912
投稿日時: 2004-3-12 16:52
新米
居住地: 広島
投稿: 17
使用環境:
PowerMac G4,OS10.3.5,FlashMX
Re: Playerでの拡大・ドラッグ機能をボタンで制御できないでしょうか<---スクリプトを置く場所を教えていた
笠居トシヒロさま、tentenkoです。
はい、移動ですね。
どうすればよろしいですか?(すみません初めてなので)

マツダショウタさんのアドバイスから頑張っています。
でもほとんど理解できていなくて情けないです
もう少しやってみます・・・
笠居トシヒロ
Åê¹ÆNo.4909
投稿日時: 2004-3-12 16:45
マスター
居住地: 兵庫
投稿: 870
使用環境:
SnowLeopard, Safari4, CS4
Windows7, IE8, CS4
Re: Playerでの拡大・ドラッグ機能をボタンで制御できないでしょうか<---スクリプトを置く場所を教えていた
さて。そろそろ話題の中心が「画面を拡大表示するスクリプト」になってきた感じですね。
もしまだ盛り上がる(笑)ようなら、続きは『コーダーズルーム』のほうへ、移動頂いてもよろしいでしょうか?


----------------
笠居 マッドシー
http://www.mad-c.com/

ゲスト
Åê¹ÆNo.4892
投稿日時: 2004-3-12 13:58
Re: Playerでの拡大・ドラッグ機能をボタンで制御できないでしょうか<---スクリプトを置く場所を教えていた
FlashMXマニュアル「演算子」>「その他の演算子」>「?:」から抜粋。
引用:
?: (条件演算子)
expression1 ? expression2 : expression3

説明
演算子; expression1 を評価し、expression1 の値が true である場合は、expression2 の値を返 します。それ以外の場合は、expression3 の値を返します。

引数が1のときは値がありますのでtrueとなって_xscale=200、0のときは_xscale=100(0はブール値ではfalseです)。
(Enlarge_mcとReduce_mcで渡している引数が異なることに注目してください)
Map_mc._xscale = flag? 200 : 100;

これは以下と同様の動きをします。
if(flag){
  Map_mc._xscale = 200;
}else{
  Map_mc._xscale = 100;
}

また、おっしゃるように2つ関数を作って割り当てても良いと思いますよ。
Enlarge_mc.onRelease = enlarge_function;
Reduce_mc.onRelease = reduce_function;


変数スコープが分からなければ、
「Flash Help」>「Flashの使用」>「ActionScript 言語について」>「変数について」を見てみてください。
抜粋すれば
引用:
タイムライン変数は、ターゲットパスを指定すれば、あらゆるタイムラインで使用できます。

また、メニューの「制御」>「ムービーのデバッグ」をすれば変数の動きがよく分かります。
引用:
それからもう一つ教えてください。
マスクを作成、ドラッグ、などのスクリプトは最初のフレームに書いておけばいいのでしょうか。
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;
}

と書けばいいのですね?

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

こんなことも解らずにごめんなさい、よろしくお願いします。
ゲスト
Åê¹ÆNo.4863
投稿日時: 2004-3-12 3:44
Re: Playerでの拡大・ドラッグ機能をボタンで制御できないでしょうか
そうですか、頑張ってください。
引用:
マニュアルやヘルプを見てやっていたのですが、めちゃくちゃになってしまって・・・
アドバイス頂いたスクリプトを参考にして頑張ってみます!!

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

マツダショウタさんは書きました:
う?ん。ちょっと質問されている所が多すぎるのではないかと思います。
マニュアルをきちんと見る、基礎は大事だと思いますよ。
ゲスト
Åê¹Æ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.4844
投稿日時: 2004-3-11 23:04
新米
居住地: 広島
投稿: 17
使用環境:
PowerMac G4,OS10.3.5,FlashMX
Re: Playerでの拡大・ドラッグ機能をボタンで制御できないでしょうか
tentenkoです。
rin-koさんありがとうございます。

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

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

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

簡単にできるものでしょうか?
(1) 2 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ

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