我對AS3非常陌生。針對對象的AS3 CSS類類
我想給MC中的某些對象「類」(意思是類的CSS類)翻轉。所以我可以自動創建一個rollOver,它可以淡化所有聲明爲rollOver對象的對象。
的jQuery〔實施例
$("#myObject .rollOverObject").animate(...);
什麼是實現類似的東西在AS3的最佳方式?
在此先感謝您,並致以最誠摯的問候。
我對AS3非常陌生。針對對象的AS3 CSS類類
我想給MC中的某些對象「類」(意思是類的CSS類)翻轉。所以我可以自動創建一個rollOver,它可以淡化所有聲明爲rollOver對象的對象。
的jQuery〔實施例
$("#myObject .rollOverObject").animate(...);
什麼是實現類似的東西在AS3的最佳方式?
在此先感謝您,並致以最誠摯的問候。
AS3中沒有CSS類。然而,你可以做的是在MC上創建一個EventListener
並在那裏做你的動畫。它看起來像這樣。
for (var i : int = 0; i < mcContainer.numChildren; i++)
{
// reference to a child of the container
var mcChild:MovieClip = mcContainer.getChildAt(i) as MovieClip;
// validate by name
if(mcChild.name == "something you want to check")
{
mcChild.addEventListener(MouseEvent.ROLL_OVER, onMcRollOver);
}
}
function onMcRollOver(event:MouseEvent) : void
{
// create a reference to the MovieClip that is rolled over
var mcTarget:MovieClip = event.currentTarget as MovieClip;
// do what you like with the mcTarget
mcTarget.alpha = 0.5;
}
如果您使用的MovieClips
,或者不需要ROLL_OVER
聽衆了,那麼你可以在simular方式刪除這些監聽器來完成。
for (var i : int = 0; i < mcContainer.numChildren; i++)
{
// reference to a child of the container
var mcChild:MovieClip = mcContainer.getChildAt(i) as MovieClip;
// validate by name
if(mcChild.hasEventListener(MouseEvent.ROLL_OVER))
{
mcChild.removeEventListener(MouseEvent.ROLL_OVER, onMcRollOver);
}
}
快速Google search可以幫助您進一步學習。
感謝您的回答。不幸的是我需要動態訪問幾個對象,而不知道它有多少。有可能通過獲取每個MC的列表並檢查名稱來做到這一點。這樣我可以命名rollOver對象rO_ExampleName或類似的東西。有沒有像myMovieClip.each()? – matteok 2011-12-29 13:37:17
我更新了我的答案。你可以使用'numChildren'循環播放孩子們。 – 2011-12-29 13:53:41
非常感謝。我最後一個問題有一點偏離主題。如果我用加載器類加載電影,我可以使用myLoader.content來訪問它。不幸的是myLoader.content是一個DisplayObject,而不是一個MovieClip,所以如果我使用你建議的循環,我會得到一個錯誤。有沒有解決辦法,或者我做錯了什麼? – matteok 2011-12-29 14:08:54
只是爲了好玩;看看補間:http://code.google.com/p/eaze-tween/
我認爲這可能是時候學習*新*範式... – 2011-12-29 13:56:58