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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     ムービークリップを使ったボタン機能?
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
斉藤 俊介
Åê¹ÆNo.3320
投稿日時: 2004-1-30 13:35
新米
居住地:
投稿: 1
使用環境:
PC:Windows2000
MACOS10.01
FLASHMX
ムービークリップを使ったボタン機能?
すみません、質問です
今FLASHで
http://www.nis.co.jp/
このサイトのナビゲーション部分を部分を作っています。
一応動き的には
このナビゲーションと同じようにクリックしたら
横にスライドする形は作ることができたのですが
ソース的には、何かのタイミングでこのサイトからいただいたものですが・・

onClipEvent (load) {
//■■変数定義
//自分の番号
nMyNum = 1;
//コンテンツ全部の数
nTotal = 10;
//左に行ったときの座標
nMinX = 22;
//右に行ったときの座標
nMaxX = 550;
//初期位置
nDest = nMaxX;
//移動のディレイ
nDelay =5;
//ヒットエリアの設定
this.hitArea = button_mc;
//■■function定義
//ボタンが押されたときに呼び出される
//各MCに移動目的地のX座標と、移動用のfunctionをセットするfunctionを呼び出し
function xSetDest(nNum) {
var i = 1;
//一番目のmcから順に命令を出していく
//nNumは、命令を発したmc(クリックされたmc)の番号
while (i<=nNum) {
//クリックされたmcか、それよりも若い番号のmcなら、左へ移動するように指令を出す。
_parent["cont"+i+"_mc"].xSetMove("left");
i++;
}
while (i<=nTotal) {
//クリックされたmcより番号が大きいmcは右へ移動するように指令を出す。
_parent["cont"+i+"_mc"].xSetMove("right");
i++;
}
}
//移動目的地のX座標と、移動を行うfunction
function xSetMove(sDest) {
//引数から目的地をセット
//左へ動くか右へ動くかを指定
switch (sDest) {
case "left" :
nDest = nMinX;
break;case "right" :
nDest = nMaxX;
break;
}
//onEnterFrameに移動制御用のfunctionをセットして、移動を開始する
this.onEnterFrame = xMove;}
//移動制御用function
function xMove() {
//次の位置を割り出す
nNextX = this._x+(nDest-this._x)/nDelay;
if (Math.abs(nDest-nNextX)>0.1) {
//次の位置が、目的地より0.1ピクセル以上離れていれば、普通に代入
this._x = nNextX;
} else {
//現在の位置と次の位置の距離が0.1ピクセル未満(きわめて近ければ)、目的地へスナップ。
//同時にonEnterFrameをdeleteして、移動処理を終了。
this._x = nDest;
delete this.onEnterFrame;
}
}
}on (release) {
//クリックされたときに、各mcへ指令を出すfunctionを実行
//引数で自分の番号を知らせる。
this.xSetDest(nMyNum);
}

これでうまく動きました。
ではこのNECのサイトみたいにいざボタンをつけて
ユーザビリティーを高くしようとおもって
ボタンアクションで「getURL」でリンクをはってみたのですが
全く作動しませんでした。

ちょっと分かりずらいかもしれませんが
何か方法をご存知の方がおりましたら
教えていただけないでしょうか?

環境はwindows 2000
FlashMXです。

お願いします
うすあじ
Åê¹ÆNo.3336
投稿日時: 2004-1-30 21:32
職人
居住地: 東京都杉並区
投稿: 211
使用環境:
FlashCS5.5 ,MacOSX 10.6.8
Re: ムービークリップを使ったボタン機能?
こんにちは、うすあじです。

質問の意味がよくわからないのですが、要するにボタンが作動しないということですね。

ボタンだけのシンプルなものでは、目的の動きにはなるのでしょうか?

ボタンのなかのスクリプトが動いていないのか、動いているがgetURLが機能していないのか、どちらでしょう?
ボタンの中にtrace命令などを入れておくと、ボタンが機能しないのか、getURLの指定などが悪いのか、原因がわかります。

また、スクリプトを書いていますが、その内容を理解すれば、解決できるような気がします。


----------------
うすあじ(twitter)
うすあじFlash研究所
HSPセンター

ゲスト
Åê¹ÆNo.3345
投稿日時: 2004-1-31 0:57
Re: ムービークリップを使ったボタン機能?
どうもわかりづらいのは、質問に書かれているスクリプトとgetURLの関係が見えないことです。
usuajiさんも言われていますが、getURLを書かれているボタンについてもっと詳しい情報を書かれた方が、回答を得やすいかと思います。例えば、そのボタンはどこに配置されているか、他に配置したら動くのか、どんなスクリプトか、作動しないことをどう確認したか、等々です。
野中文雄
Åê¹ÆNo.3350
投稿日時: 2004-1-31 4:37
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: ムービークリップを使ったボタン機能?
ご質問には、問題の切分けが必要です。スクリプトの動作が問題でしたら、その具体的な箇所を絞るか、問題を再現するサンプルをご提示ください。
引用:
simon55さんは書きました:
ソース的には、何かのタイミングでこのサイトからいただいたものですが・・

onClipEvent (load) {
// [中略]
on (release) {
// [中略]

これでうまく動きました。

みなさんが指摘されているとおり、状況がわかりません。Buttonインスタンスは、どこに配置しているのでしょうか?

onハンドラを設定したMovieClip内にButtonインスタンスを配置したら動作しないということでしたら、[onハンドラを使わずにロールオーバー/ロールアウトを検出する]をご参照ください。
引用:
ボタンアクションで「getURL」でリンクをはってみたのですが
全く作動しませんでした。
...
環境はwindows 2000
FlashMXです。


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

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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