[英]As3 (code snippets) change property of object on stage from within another object
在過去的幾個小時中,我一直在尋找如何執行此操作的方法,但是沒有運氣。 首先,我是AS的新手,不確定要搜索什么。
因此,這就是我要做什么:舞台只有1幀,舞台上有1個按鈕(b1),1個不可見的影片剪輯(區域)和1個可見的影片剪輯,它們是20幀(ani) 目前,當我按下按鈕“ b1”時,它將開始播放電影“ ani”(電影最初停止),該電影將在到達第20幀時停止播放。可見。 由於我在“ ani”內部並且在第20幀上,因此無法直接使用area.visible = true;。 因為我會收到錯誤消息“訪問身份不明的屬性區域”。 從另一個對象內部訪問“區域”屬性的方法是什么?
我不確定我是否完全理解您所說的一切,但是我認為您想要在您的舞台上做的就是這樣,其中ani和area都具有作用域:
ani.addEventListener(Event.ENTER_FRAME, frameCheck);
function frameCheck(e:Event):void
{
if (ani.currentFrame == ani.totalFrames)
{
ani.removeEventListener(Event.ENTER_FRAME, frameCheck);
area.visible = true;
}
}
那只是一個示例,說明如何檢測到ani碰到了最后一幀並進行了適當處理。
您將需要添加事件監聽器,每次按下按鈕。
在“ ani” MovieClip
片段的內部(最后一幀)添加以下句子,
MovieClip(this.parent).area.visible = true;
在這里, parent
是您的主要時間表。
(注意:不建議使用此方法)。
而是使用外部類方法。 例如,使用Loader
類加載具有COMPLETE
事件和contentLoaderInfo
獲取swf對象的動畫swf,並檢測最后一幀,並使MovieClip
區域可見。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.