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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     ページの切り替え
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
Kreiger
Åê¹ÆNo.6178
投稿日時: 2004-4-12 0:11
常連
居住地: 個室
投稿: 94
使用環境:
XP pro SP3, 7
CS5
ページの切り替え
はじめまして。

http://www.a17.com.br/
例として↑のサイトのようにページを切り替えるときに
背景を現在のページ背景から徐々にボタンの押したページの背景に変わる
ということをしたいのですが、どのようにしたらいいでしょうか?
どこのボタンから押しても現在の背景から徐々に切り替わるという所がわからないです。
空野大二郎
Åê¹ÆNo.6180
投稿日時: 2004-4-12 1:13
職人
居住地: 愛知
投稿: 389
使用環境:
 XP:Home
FlashMX
IE6.0+FlashPlayer7,0,19
CPU:Pentium4 2.26GHz
メモリ:1,024MB
Re: ページの切り替え
まいど。

引用:
http://www.a17.com.br/
例として↑のサイトのようにページを切り替えるときに
背景を現在のページ背景から徐々にボタンの押したページの背景に変わる
ということをしたいのですが、どのようにしたらいいでしょうか?

作り手のコンセプト、構成のうまさは置いといて、再現できる手法の一つは下記のようなものでしょう。

1:フレームレートを30fps、60fpsなどに上げる。
2:それぞれのページに背景画像を2種類用意する。
   A:表示する背景
   B:同じ画像にズーム処理(?)を施した背景
3:切り替え動作を設定。
   レイヤー1:画像A
   レイヤー2:画像B
   レイヤー3:真っ白な塗り
 ページを切り替えるときは、前面の画像Aを透明にしてゆき、終わったら画像Bを透明に。真っ白になったら、切り替え後の画像を上記の手順と逆に表示してゆく。

各ページごとに、じんわり表示させるものと、じんわり真っ白にするアニメーションをムービークリップとして作っているのでしょう。
試しに上記のような画像2種類と真っ白な塗りを用意して、透明度を変えてみるのが吉。背景が徐々に切り替わっていくように見えたら、ご喝采。


----------------
空野 大二郎 アニメーター作家
桜の道

Kreiger
Åê¹ÆNo.6193
投稿日時: 2004-4-12 11:39
常連
居住地: 個室
投稿: 94
使用環境:
XP pro SP3, 7
CS5
Re: ページの切り替え
レスありがとうございます。
引用:
ページを切り替えるときは、前面の画像Aを透明にしてゆき、終わったら画像Bを透明に。真っ白になったら、切り替え後の画像を上記の手順と逆に表示してゆく。

ページを切り替えるとき現在の背景(画像A)を透明にしてゆく。この方法がわからないです。ボタンを押した先の背景が表示される前に現在の背景が透明になっていくという仕組みが。
どこにキーフレームを作ればいいのですか?それともスクリプトを使わなければいけないのでしょうか。
沼田友
Åê¹ÆNo.6200
投稿日時: 2004-4-12 17:47
半人前
居住地: 神奈川
投稿: 52
使用環境:
WinXP Home
:FlashCS3: FlashCS3 

AthlonXP 1.84GHz
Re: ページの切り替え
こんにちは。
引用:
ページを切り替えるとき現在の背景(画像A)を透明にしてゆく。この方法がわからないです。

それはシンボルを透明化する時点でわからないのですか?
透明化するためには、シンボルを選択して【カラー】→【アルファ】をいじってみてください。
ボタンを押したら再生開始し、フェードアウトする背景、フェードインする背景をそれぞれ重ねればうまくいくと思うのですが・・・
Kreiger
Åê¹ÆNo.6204
投稿日時: 2004-4-12 19:28
常連
居住地: 個室
投稿: 94
使用環境:
XP pro SP3, 7
CS5
Re: ページの切り替え
はじめまして。

上手く説明ができなくてすみません。
ボタンを押してそのページの背景をフェードインさせることはできるんですが
フェードアウトの方が・・・

ユーザーによってどの順序でボタンが押されるかわからないですよね。
ということは、フェードアウトさせる背景がその時のページによって異なるので
ボタンごとにどのような設定をすればいいのやら・・・

Aのページの時、Bのページのボタンを押したら
AからBの背景に変えていきたいので
BのボタンにAからBに変える設定をすればいいですが
Cのページの時、Bのページのボタンを押したら
CからBの背景に変えないといけないので
同じBのボタンでもフェードアウトさせる背景が変わります。
これが、わからないです・・・

ボタンを押した時に対応したコマにラベルで飛ばすようにしているんですが
このやり方から間違っているのでしょうか
沼田友
Åê¹ÆNo.6205
投稿日時: 2004-4-12 21:31
半人前
居住地: 神奈川
投稿: 52
使用環境:
WinXP Home
:FlashCS3: FlashCS3 

AthlonXP 1.84GHz
Re: ページの切り替え
地道に一個一個作っちゃうのも手だと思うのですが、
それ以外の方法としては、
たとえばシーンが1から4まであったとした時、
・シーン1がフェードイン
・シーン1がフェードアウト
・シーン2がフェードイン
・シーン2がフェードアウト
・シーン3がフェードイン
・シーン3がフェードアウト
・シーン4がフェードイン
・シーン4がフェードアウト
この八種類のアニメーションをムービークリップ内でツクって
各ジャンプごとに使いまわすという手が僕の考えられる最善の手段です。
ジャンプボタンを押したら1度簡単な変数を格納させて、
フェードアウトした時にif文などを使い、変数ごとにジャンプ先シーンを振り分けるという方法もあります。

すみません、自分こんなメンドーな方法しか思い浮かびません
これで実現するとは思うのですが・・・
ゲスト
Åê¹ÆNo.6209
投稿日時: 2004-4-13 0:37
Re: ページの切り替え
どうもこんにちわ
フェードインからフェードアウトの流れをどのような構成で組み立てられているのかちょっとわからなのですが、actionscriptで制御するときの考え方の一例です。

 フェードアウトする画像とフェードインする画像を分けて考えたほうがわかりやすいかもしれません。例えば、Bボタンを押す前にどんな画像が表示されていても、Bボタン押すと既表示されている画像はフェードアウトして常にBの画像がフェードインするだけですよね。
ということは、ボタンを押した時に必要な処理としては、
 1)既に表示されている画像をフェードインする
 2)ボタンに対応した画像(BボタンならBの画像)をフェードインする
となります。

 悩まれているポイントはボタンを押す前に表示されている画像の名前(mcの名前?)が取得できれば、その名前を用いてフェードアウトの命令をかけてやれば解決するでしょうし、汎用性も出てくるかと思います。変数を使った命令方法(配列アクセス演算子など)はここの過去ログにもよく出てきますので参考にして下さい。
 名前の取得方法ですが、例えば最後に押したボタンの命令に変数に名前を格納する命令を加えてその変数を用いることもできます、むちゃな方法ではfor命令で対象となる画像すべてに命令を送る方法もあります。

 またフェードインした画像を次にフェードアウトするために何らかの処理が必要かもしれませんが、そのあたりはムービーの構成によりますので、不明点があればあらためて質問してみて下さい。
空野大二郎
Åê¹ÆNo.6213
投稿日時: 2004-4-13 5:09
職人
居住地: 愛知
投稿: 389
使用環境:
 XP:Home
FlashMX
IE6.0+FlashPlayer7,0,19
CPU:Pentium4 2.26GHz
メモリ:1,024MB
Re: ページの切り替え
問題の絞り込みが進んでいますね。
引用:
Kreigerさんは書きました。

Aのページの時、Bのページのボタンを押したら
AからBの背景に変えていきたいので
BのボタンにAからBに変える設定をすればいいですが
Cのページの時、Bのページのボタンを押したら
CからBの背景に変えないといけないので
同じBのボタンでもフェードアウトさせる背景が変わります。
これが、わからないです・・・

ボタンを押した時に対応したコマにラベルで飛ばすようにしているんですが
このやり方から間違っているのでしょうか

背景をAからBに変える、ように見えているのが目標の障害となっているようです。
Aを真っ白にして、Bを真っ白から表示させる、とゆーふーにアニメーションを独立させていると見るのが吉。これをふまえて、次にいきます。

問題点:ボタンで制御のすべてをまかなえるか?
解答 :それは、できません。
 なぜなら、動作が働くイベントが2カ所あるから。
 動作1:見たいメニューのボタンを押す。
 動作2:フェードアウトが終わり、見たいページをフェードインさせようとする。

代替案:動作ごとに、スクリプトを記述。

「タイムラインのページ構成」:「フレーム名」
Aのフェードイン:page_A
Aのページ
Aのフェードアウト
Bのフェードイン:page_B
Bのページ
Bのフェードアウト
Cのフェードイン:page_C
Cのページ
Cのフェードアウト

「スクリプトの記述」
引用:
_rootの1フレーム目に
//行き先変数の初期化
this.nowLocation = "menu_a";


_rootの2フレーム目に
//切り替えアニメーションのフレームに移動するメソッド
function set_change(loca) {
	this.gotoAndStop(_currentFrame+1);
	this.nowLocation = loca;  //移動先を変数に格納
}


_rootのフェードインが終わり、ページが表示されたフレームに
this.stop();

※このフレームのつぎのフレームから、同ページのフェードアウトがはじまる。

_rootのフェードアウトが終わったフレームに
this.gotoAndPlay(this.nowLocation);



_rootのメニューボタンには
//移動メソッドを送る。
on(release) {
	this.set_change("行き先のフレーム名");
}


残された問題と今後の課題:上記の方法で、目的の動作は得られるでしょう。けれど、使い回しやメンテナンスのしやすさを考えると、沼田友さんやKeitaさんのおっしゃっているように、動作を分けてムービークリップ化するのが吉。
 分かりやすいようにフェードをムービークリップに格納したサンプルを作りましたので、同様に再現してみて下さい。
サンプル
サンプルflaファイル


----------------
空野 大二郎 アニメーター作家
桜の道

refined sus
Åê¹ÆNo.6217
投稿日時: 2004-4-13 8:28
半人前
居住地:
投稿: 30
使用環境:

Re: ページの切り替え
このような質問でしかお役に立てないので、
サンプル
を用意しました。
が、空野大二郎さんと、もろかぶってしまいました


----------------

Kreiger
Åê¹ÆNo.6292
投稿日時: 2004-4-15 13:35
常連
居住地: 個室
投稿: 94
使用環境:
XP pro SP3, 7
CS5
Re: ページの切り替え
サンプルファイルまで用意していただき、ありがとうございました。
とても勉強になりました。まだ試行錯誤しているところですが、何かわからない部分がでてきたら
聞きにきますので、よろしくお願いします
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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