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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   どこでもFlash【携帯向けFlash関連】
     上下キーでスクロールするメニュー
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
3232goma
Åê¹ÆNo.29253
投稿日時: 2006-10-9 13:08
新米
居住地:
投稿: 8
使用環境:
MacOS 10,3,9
Flash8
上下キーでスクロールするメニュー
はじめまして。
非常に初歩的な質問で申し訳ありません。
携帯でスクロールするメニューを制作しているんですが、どうしてもうまくいかないのでアドバイスをお願いします。

┌────────┐
│ ボタン6   │
│ ボタン7   │
┏━━━━━━━━┓
┃ 携帯の画面  ┃   ↑
┃        ┃  上ボタンで表示
┃ ボタン1   ┃
┃ ボタン2   ┃  下ボタンで表示
┃ ボタン3   ┃   ↓
┗━━━━━━━━┛
│ ボタン4   │
│ ボタン5   │
└────────┘

ボタン3にフォーカスがあたっているときに、下ボタンを押すと、
ボタン4にフォーカスがあたり、画面がスクロールしてボタン4が画面上に現れる。
※上キーを押したときも同じようにしたい。

まず画面からはみ出すようなmc_mainを作り、シーンに配置。
mc_main内のボタンに以下のようなアクションを割り当てましたが、利きませんでした。
on (rollOver) {
gotoAndPlay("1", "3");
}
on (press) {
getURL("url01.html");
}

キーイベントはシーンに配置しないと利かないようでしたので、
シーンの1にボタンを配置して、
on (rollOver) {
gotoAndPlay("Win02");
}
とタイムラインの移動で動きをつけたのですが、キーフレームを使用するとボタンにフォーカスがあたった状態での画面がスクロールできません。

どのようにしたら、ボタンにフォーカスがあたったまま上下でスクロールできるようになるのか教えてください。
よろしくお願いします。
コマツ
Åê¹ÆNo.29254
投稿日時: 2006-10-9 14:53
職人
居住地: 東京都葛飾区
投稿: 356
使用環境:
windows7
CS5.5 CS6
Re: 上下キーでスクロールするメニュー
3232goma さん、こんにちは。

引用:
キーイベントはシーンに配置しないと利かないようでしたので、
シーンの1にボタンを配置して、
on (rollOver) {
gotoAndPlay("Win02");
}
とタイムラインの移動で動きをつけたのですが、キーフレームを使用するとボタンにフォーカスがあたった状態での画面がスクロールできません。


シーン1(メインタイムライン)上でボタンを設置をしたくないというのでしたら、ムービークリップの中から、メインタイムラインを制御するようにしてはどうでしょう?
ムービークリップ内のボタンに以下のような命令を入るとメインタイムラインを制御できますよ。

on (rollOver) {
   tellTarget("/"){
	gotoAndPlay("Win02");
   }
}



引用:
どのようにしたら、ボタンにフォーカスがあたったまま上下でスクロールできるようになるのか教えてください。
よろしくお願いします。


ムービーの構成が詳しくわかりませんので、これで解決できるかはわかりませんが、参考になればと思います。
3232goma
Åê¹ÆNo.29262
投稿日時: 2006-10-9 19:43
新米
居住地:
投稿: 8
使用環境:
MacOS 10,3,9
Flash8
Re: 上下キーでスクロールするメニュー
コマツさん、ありがとうございます。
教えて戴いたように、ムービークリック内のボタンにアクションを割り当てたら動くようになりました。

ボタン1(各ボタン)にフォーカスがあたっているときに、他のmc(mc_02)を実行したいので、以下のようなアクションをつけています。
on (rollOver) {
tellTarget ("/") {
gotoAndStop("Win02");
}
tellTarget ("mc_02") {
gotoAndPlay("play");
}
}
on (press) {
getURL("url01.html");
}

Win02の実行
    play      →→→     stop
┏━━━━━━━━┓      ┏━━━━━━━━┓
┃ ボタン6   ┃      ┃ ボタン1   ┃
┃ ボタン7   ┃      ┃ ボタン2   ┃
┃        ┃      ┃ ボタン3   ┃
┃ ボタン1   ┃      ┃        ┃
┃ ボタン2   ┃      ┃ ボタン4   ┃
┗━━━━━━━━┛      ┗━━━━━━━━┛
│ ボタン3   │      │ ボタン5   │
│        │      │        │
│ ボタン4   │      │ ボタン6   │
│ ボタン5   │      │ ボタン7   │

ボタン1?ボタン3にフォーカスがあたっているときは画面はWin02の状態にして起きたいので、

ボタン2とボタン3のアクションは、
on (press) {
getURL("url**.html");
}
のみにしています。

でも、ボタン2にフォーカスがあたっているときに、上キーで
ボタン1にフォーカスと当てると、当然ですがWin02がまたまた実行されてしまいます。

下キーでボタン1にフォーカスを当たったときは、Win02の実行をし、
上キーでフォーカスがあたった場合は、Win02のstop状態のままというものを作りたいんです。
keey pressで、
upの時にはAを実行し、
downの時にはBを実行する。
という方法をとればいいのかな?という事までは考えられるのですが、
指定の方法がわかりません。
そもそもこの作り自体が問題なのか。とも思ってしまっています。
手法を教えていただけたらと思います。
すみません、説明が難しくて伝わりにくいかもしれません。
どうぞよろしくお願いします。
3232goma
Åê¹ÆNo.29263
投稿日時: 2006-10-9 20:32
新米
居住地:
投稿: 8
使用環境:
MacOS 10,3,9
Flash8
Re: 上下キーでスクロールするメニュー
引用:

keey pressで、
upの時にはAを実行し、
downの時にはBを実行する。
という方法をとればいいのかな?という事までは考えられるのですが、
指定の方法がわかりません。


すみません。仕様でkeey pressは使用不可でした。

他の条件で
上キーでボタン1にカーソルがあたったときはAを実行し、
下キーでボタン1にカーソルがあたったときはBを実行する。
という方法をご存じの方、教えてください。
コマツ
Åê¹ÆNo.29265
投稿日時: 2006-10-9 21:29
職人
居住地: 東京都葛飾区
投稿: 356
使用環境:
windows7
CS5.5 CS6
Re: 上下キーでスクロールするメニュー
引用:
他の条件で
上キーでボタン1にカーソルがあたったときはAを実行し、
下キーでボタン1にカーソルがあたったときはBを実行する。
という方法をご存じの方、教えてください。


各ボタンに「rollOver」するたびに、変数を設定して、条件文を書けば、上キーか下キーかどちらのキーで設定したかは、わかると思います。

例えば、以下のようにしてみてはどうでしょう?


//ボタン1
on(rollOver){
 if(focusData==7){
  //前にフォーカスが当たっていたのが7の時(下キーを押した)の処理
 }else if(focusData==2){
  //前にフォーカスが当たっていたのが2時(上キーを押した)の処理
 }else{
  //それ以外の時
 }
 focusData = 1;
}

//ボタン2
on(rollOver){
 if(focusData==1){
  //前にフォーカスが当たっていたのが1の時(下キーを押した)の処理
 }else if(focusData==3){
  //前にフォーカスが当たっていたのが3時(上キーを押した)の処理
 }
 focusData = 2;
}

//ボタン3
on(rollOver){
 if(focusData==2){
  //前にフォーカスが当たっていたのが2の時(下キーを押した)の処理
 }else if(focusData==4){
  //前にフォーカスが当たっていたのが4時(上キーを押した)の処理
 }
 focusData = 3;
}
3232goma
Åê¹ÆNo.29268
投稿日時: 2006-10-9 23:53
新米
居住地:
投稿: 8
使用環境:
MacOS 10,3,9
Flash8
Re: 上下キーでスクロールするメニュー
コマツさん、ありがとうございます。
早速試してみましたが、何分知識不足なのでなかなかうまくいきません。
説明不足で申し訳ありませんが、ボタンには3種類のケースが存在します。

◆ボタン1は
 下キーを押してマウスオーバーになる時の処理が(必要)
 上キーを押してマウスオーバーになる時の処理が(不要)
 クリックしてリンクする。

◆ボタン2は
 下キーを押してマウスオーバーになる時の処理が(不要)
 上キーを押してマウスオーバーになる時の処理が(不要)
 クリックしてリンクする。

◆ボタン3は
 下キーを押してマウスオーバーになる時の処理が(不要)
 上キーを押してマウスオーバーになる時の処理が(必要)
 クリックしてリンクする。

また、ボタン1についてのみ、
最初にこのページに来たときの処理が必要になります。


これらのスクリプトをどう書いたらいいのかわからないため、混乱しています。。。
参考資料を読んで、不要な部分を削ってみると、エラー、エラー、エラーが…。
調べながら作業は続けていますが、よかったらアドバイスをいただけますでしょうか。
よろしくお願いいたします。

3232goma
Åê¹ÆNo.29269
投稿日時: 2006-10-10 0:35
新米
居住地:
投稿: 8
使用環境:
MacOS 10,3,9
Flash8
Re: 上下キーでスクロールするメニュー
お世話になります。
以下のソース、間違いをご指摘いただけますか。

◆下キーのみの場合
on(rollOver){
if(focusData==7){
//下キーを押してマウスオーバーになる時の処理
tellTarget ("/") {
gotoAndStop("Win02");
}
tellTarget ("mc_02") {
gotoAndPlay("play");
}
}
focusData = 1;
}

on (press) {
getURL("url01.html");
}


◆上キーのみの場合
on(rollOver){
if(focusData==2){
//上キーを押してマウスオーバーになる時の処理
tellTarget ("/") {
gotoAndStop("Win02");
}
tellTarget ("mc_02") {
gotoAndPlay("play");
}
}
focusData = 1;
}

on (press) {
getURL("url01.html");
}


◆上下キー両方とも不要な場合
on(rollOver){
focusData = 1;
}

on (press) {
getURL("url01.html");
}


これでエラーは出なくなりました。
最初に訪れたとき(//それ以外の時)の記述の仕方を調べていますが、よくわかりません。
ご存じでしたら教えてください。
コマツ
Åê¹ÆNo.29270
投稿日時: 2006-10-10 1:02
職人
居住地: 東京都葛飾区
投稿: 356
使用環境:
windows7
CS5.5 CS6
Re: 上下キーでスクロールするメニュー
引用:
また、ボタン1についてのみ、
最初にこのページに来たときの処理が必要になります。


「最初にこのページに来たときの処理」とは具体的に何をなさりたいのでしょうか?

引用:
◆下キーのみの場合
on(rollOver){
if(focusData==7){
//下キーを押してマウスオーバーになる時の処理
tellTarget ("/") {
gotoAndStop("Win02");
}
tellTarget ("mc_02") {
gotoAndPlay("play");
}
}
focusData = 1;
}

on (press) {
getURL("url01.html");
}


◆上キーのみの場合
on(rollOver){
if(focusData==2){
//上キーを押してマウスオーバーになる時の処理
tellTarget ("/") {
gotoAndStop("Win02");
}
tellTarget ("mc_02") {
gotoAndPlay("play");
}
}
focusData = 1;
}

on (press) {
getURL("url01.html");
}


◆上下キー両方とも不要な場合
on(rollOver){
focusData = 1;
}

on (press) {
getURL("url01.html");
}


エラーは出なくなったと書かれていますか、問題はなくなったということでしょうか?それても、エラーが出なくなっただけで、他に何か問題があるのでしょうか?

ちなみに、上記の命令はどのボタンにかかれているのですか?
ソースを見る限りですと、どれもボタン1に記述されているような感じですが・・・。
3232goma
Åê¹ÆNo.29272
投稿日時: 2006-10-10 5:58
新米
居住地:
投稿: 8
使用環境:
MacOS 10,3,9
Flash8
Re: 上下キーでスクロールするメニュー
コマツさん、ありがとうございます。
説明が下手ですみません。

引用:

「最初にこのページに来たときの処理」とは具体的に何をなさりたいのでしょうか?


一番初めに見える画面(どこにもフォーカスがあたっていない状態)
で上キーを押したとき、何も処理をしていないと、画面の一番下に見えるボタンにフォーカスがあたりますよね。
これをどんなに上キーを選ぼうと、何も選べないようにする処理のことです。
いろいろ試していますが、うまくいきません。。。

引用:

エラーは出なくなったと書かれていますか、問題はなくなったということでしょうか?それても、エラーが出なくなっただけで、他に何か問題があるのでしょうか?

ちなみに、上記の命令はどのボタンにかかれているのですか?
ソースを見る限りですと、どれもボタン1に記述されているような感じですが・・・。


すみません。
ボタン1を例にして、すべてに書いてしまったものですから。
エラーが出ていないし、今のところ挙動にも問題が無いようなので大丈夫かなと思っているんですが、、、いかがでしょうか。
ボタンを3つとして書いてみます。

◆ボタン1
//下キーを押してマウスオーバーになる時の処理
on(rollOver){
if(focusData==3){
tellTarget ("mc_03") {
gotoAndStop("stop");
}
tellTarget ("mc_01") {
gotoAndPlay("play");
}
tellTarget ("/") {
gotoAndPlay("Win01");
}
}
focusData = 1;
}
on (press) {
getURL("url01.html");
}


◆ボタン2
//処理不要
on(rollOver){
focusData = 2;
}

//リンク
on (press) {
getURL("url02.html");
}


◆ボタン3
//上キーを押してマウスオーバーになる時の処理
on(rollOver){
if(focusData==1){
tellTarget ("mc_02") {
gotoAndStop("stop");
}
tellTarget ("mc_01") {
gotoAndPlay("play");
}
tellTarget ("/") {
gotoAndPlay("Win02");
}
}
focusData = 3;
}

//リンク
on (press) {
getURL("url03.html");
}

よろしくお願いします。
コマツ
Åê¹ÆNo.29322
投稿日時: 2006-10-11 22:22
職人
居住地: 東京都葛飾区
投稿: 356
使用環境:
windows7
CS5.5 CS6
Re: 上下キーでスクロールするメニュー
スイマセン。一日空きましたが返信です。

引用:
一番初めに見える画面(どこにもフォーカスがあたっていない状態)
で上キーを押したとき、何も処理をしていないと、画面の一番下に見えるボタンにフォーカスがあたりますよね。
これをどんなに上キーを選ぼうと、何も選べないようにする処理のことです。
いろいろ試していますが、うまくいきません。。。


ボタンが画面上に存在する以上、上キーを押した時にボタンにはフォーカスされてしまいますね。これは仕様なので回避はできないでしょう。

透明ボタンを使用して、ボタンが選択されている風にするのであれば、それっぽくみえるようにできるかもしれません。以下、以前にその内容について話したスレッドです。


FlashLite1.1でフォーカスの制御




引用:
すみません。
ボタン1を例にして、すべてに書いてしまったものですから。
エラーが出ていないし、今のところ挙動にも問題が無いようなので大丈夫かなと思っているんですが、、、いかがでしょうか。
ボタンを3つとして書いてみます。


エラーが出ていなくて、望みの動きをしているのであれば、こちらとしては、どのような問題があるかはわかりかねます。

何かご不安な点がありましたら、提示していただければと思います。
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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