メイン 迷える子羊の部屋【初心者専用】 ifでの条件分岐 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
pizza | Åê¹ÆNo.43292 投稿日時: 2009-8-31 7:40 |
新米 居住地: 投稿: 24
使用環境:
MAC バージョン10.5.8 FLASH CS3 AS3.0 Firefox 3.5.2 Safari 4.0.3 |
ifでの条件分岐 いつもお世話になっております。
スライドショーを作っていて壁にぶち当たってしまったので質問させていただきました。 ステージ上にslideshow_btnを配置してある状態で、 slideshow_btnをクリックするたびにスライドショーのon/offを切り替えるという風にしたいと思っております。 以下scriptになります。 //関係の無い部分は省略させていただきます。 function slideshowClickHandler(event:MouseEvent):void{ var slideshowTimer:Timer=new Timer(5000); //ここが問題の部分です。 if(){ slideshowTimer.addEventListener(TimerEvent.TIMER,slideshowTimerHandler); slideshowTimer.start(); }else{ slideshowTimer.removeEventListener(TimerEvent.TIMER,slideshowTimerHandler); } } ◯このときのif文での条件分岐if()の () の中をどう記載してよいのか ◯その他、こういった場合の際の条件分岐のscriptが合っているのか ご教授よろしくお願いします。 また、こういった際の物を作るときにより分かりやすい作り方などございましたらご教授していただけたら幸いです。 どうぞよろしくお願いいたします |
ひろゆき | Åê¹ÆNo.43293 投稿日時: 2009-8-31 9:51 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: ifでの条件分岐 例えば、
|
pizza | Åê¹ÆNo.43296 投稿日時: 2009-8-31 17:30 |
新米 居住地: 投稿: 24
使用環境:
MAC バージョン10.5.8 FLASH CS3 AS3.0 Firefox 3.5.2 Safari 4.0.3 |
Re: ifでの条件分岐 ひろゆき様
いつも本当にありがとうございます こういった方法があったのですね!ありがとうございます ひろゆき様の教えていただいたとおり以下のscriptでif文の条件分岐はできたと思うのですが、 var playing:Boolean = false; function slideshowClickHandler(event:MouseEvent):void{ playing = !playing; var slideshowTimer:Timer = new Timer(5000); if (playing) { slideshowTimer.addEventListener(TimerEvent.TIMER,slideshowTimerHandler, false, 0, true); slideshowTimer.start(); } else { slideshowTimer.removeEventListener(TimerEvent.TIMER,slideshowTimerHandler); } } なぜかスライドショーが止まってくれません、、 }else{ より下の部分の書き方がいけないのでしょうか? ご教授よろしくお願いします。 |
ひろゆき | Åê¹ÆNo.43297 投稿日時: 2009-8-31 17:34 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: ifでの条件分岐 引用:
pizzaさんは書きました: slideshowTimerHandlerがどういった関数が明らかにされていない以上、 何がいけないのか、分かりようがありません。
|
pizza | Åê¹ÆNo.43298 投稿日時: 2009-8-31 17:44 |
新米 居住地: 投稿: 24
使用環境:
MAC バージョン10.5.8 FLASH CS3 AS3.0 Firefox 3.5.2 Safari 4.0.3 |
Re: ifでの条件分岐 申し訳ございません
変数clickNumは画像の番号になっております。 変数totalNumは画像のトータル枚数です。 関数xml()で表示画像の更新をしております。 画像は関数xml()で外部からよみこんでおります //slideshowTimerHandlerです。 function slideshowTimerHandler(event:TimerEvent):void{ clickNum ++; if(clickNum > totalNum-1){ clickNum=0; } xml(); } //以上です よろしくお願いします |
ひろゆき | Åê¹ÆNo.43299 投稿日時: 2009-8-31 19:38 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: ifでの条件分岐 引用:
pizzaさんは書きました: 少なくとも、xmlを毎回実行する必要があるようには思えませんし、 読み込んだxmlをどのように使われているのか不明です。 動きが止まらないとしたら、どの動きが止まっていないのか、 traceなどして、ご自分で確認するほかないと思います。 第三者に検証させようというのであれば、 中途半端なスクリプト、つまり、断片的な情報だけでは、 分からないこともあると思いますが。
|
pizza | Åê¹ÆNo.43305 投稿日時: 2009-9-1 3:38 |
新米 居住地: 投稿: 24
使用環境:
MAC バージョン10.5.8 FLASH CS3 AS3.0 Firefox 3.5.2 Safari 4.0.3 |
Re: ifでの条件分岐 たびたび申し訳ございません
中途半端な説明になってしまってすいませんでした。 xml()は更新時に毎回実行させるようになっているので今回のscriptでは必要になります。 説明なくもうしわけございません。 今回はなんとか自己解決することができました。 新たにslideshowTimerStopHandlerを作ってscriptを加えてみたら望んでいたようにできました //以下scriptです var playing:Boolean = false; function slideshowClickHandler(event:MouseEvent):void{ playing = !playing; var slideshowTimer:Timer = new Timer(5000); if (playing) { //追加script slideshowTimer.removeEventListener(TimerEvent.TIMER,slideshowTimerStopHandler); slideshowTimer.addEventListener(TimerEvent.TIMER,slideshowTimerHandler, false, 0, true); slideshowTimer.start(); } else { //追加script slideshowTimer.addEventListener(TimerEvent.TIMER,slideshowTimerStopHandler); } } //新たに追加したslideshowTimerStopHandler function slideshowTimerStopHandler(event:TimerEvent):void{ slideshowTimer.removeEventListener(TimerEvent.TIMER,slideshowTimerHandler); } 今回も大変ありがとうございました。 ひろゆき様にはいつも大変感謝しております。 また何かありましたらご教授よろしくお願いします |
TJFORD | Åê¹ÆNo.43307 投稿日時: 2009-9-1 10:40 |
半人前 居住地: Tokyo 投稿: 42
使用環境:
:Flash CS3 |
Re: ifでの条件分岐 var playing:Boolean = false;
function slideshowClickHandler(event:MouseEvent):void{ playing = !playing; var slideshowTimer:Timer = new Timer(5000); if (playing) { slideshowTimer.addEventListener(TimerEvent.TIMER,slideshowTimerHandler, false, 0, true); slideshowTimer.start(); } else { slideshowTimer.removeEventListener(TimerEvent.TIMER,slideshowTimerHandler); } } ------------------------------------------------------------- 上記のスクリプトですが、slideshowClickHandler内でクリックする度にTimerオブジェクトを生成しているようですが、そこがそもそもの問題だったりしませんでしょうか? |
pizza | Åê¹ÆNo.43311 投稿日時: 2009-9-1 17:46 |
新米 居住地: 投稿: 24
使用環境:
MAC バージョン10.5.8 FLASH CS3 AS3.0 Firefox 3.5.2 Safari 4.0.3 |
Re: ifでの条件分岐 TJFORD様
返信ありがとうございます。 おっしゃられた通り、slideshowTimerを外に置いたら下記のscriptで理想の動きをする事ができました //以下script var slideshowTimer:Timer = new Timer(5000); var playing:Boolean = false; function slideshowClickHandler(event:MouseEvent):void{ playing = !playing; if (playing) { slideshowTimer.addEventListener(TimerEvent.TIMER,slideshowTimerHandler, false, 0, true); slideshowTimer.start(); } else { slideshowTimer.removeEventListener(TimerEvent.TIMER,slideshowTimerHandler); } } //// 大変ありがとうございました。 また何かございましたらご教授よろしくおねがいします。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |