Re: [問題] 是否有判斷動畫是否播放中的語法?
※ 引述《allpassXD ()》之銘言:
: flash中是否有語法能判斷動畫是否正被播放中
: 我想寫在if的判斷式裡面
可以自己從MovieClip這個class來extend一個自訂class
我取的名稱是MonitoredMovieClip
然後直接override掉原本的play()和stop()
以後只要呼叫isPlaying就可以知道這個MC到底有沒有在播放
(記得要在symbol linkage那邊的class欄位打上MonitoredMovieClip)
只是如果是在該MC內部執行play()和stop()
記得使用this.play()和this.stop()
(我個人習慣是不管哪個MC裡面都打this)
※後半段還有override其他method
諸如gotoAndStop(), gotoAndPlay(), nextFrame(), prevFrame()
都很類似play()和stop()的override方式,就請自行看囉
-------------------<以下為MonitoredMovieClip.as的內容>--------------------
class MonitoredMovieClip extends MovieClip{
//紀錄播放狀態,預設為"PLAYING"
private var _playbackStatus:String = "PLAYING";
//P.S.我習慣private property用底線開頭取名字
//取得播放狀態用的getter
public function get isPlaying():Boolean {
if (_playbackStatus == "PLAYING") {
return true;
} else if (_playbackStatus == "STOPPED") {
return false;
}
}
//override原本的play()
public function play():Void {
//呼叫原本的play()
super.play();
_playbackStatus = "PLAYING";
}
//override原本的stop()
public function stop():Void {
//呼叫原本的stop()
super.stop();
_playbackStatus = "STOPPED";
}
//以下的code就大同小異
public function nextFrame():Void {
super.nextFrame();
_playbackStatus = "STOPPED";
}
public function prevFrame():Void {
super.prevFrame();
_playbackStatus = "STOPPED";
}
public function gotoAndStop():Void {
super.gotoAndStop();
_playbackStatus = "STOPPED";
}
public function gotoAndPlay():Void {
super.gotoAndPlay();
_playbackStatus = "PLAYING";
}
}
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓
Gallery http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.81.93
※ 編輯: cjcat2266 來自: 61.228.81.93 (10/08 00:40)
推
10/08 01:07, , 1F
10/08 01:07, 1F
推
10/08 02:24, , 2F
10/08 02:24, 2F
推
10/08 10:16, , 3F
10/08 10:16, 3F
推
10/08 15:05, , 4F
10/08 15:05, 4F
推
10/08 18:26, , 5F
10/08 18:26, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Flash 近期熱門文章
PTT數位生活區 即時熱門文章