簡體   English   中英

As3(代碼段)從另一個對象內部更改舞台上對象的屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM