我已經有了幾個這樣的帖子,但我沒有得到最終答案,所以我把這個圖像放在一起,試圖解釋我正在嘗試做什麼。我非常接近。 如果你能幫助我,謝謝你太多了。迄今爲止工作的日子。as3從外部加載的swf從網絡控制來自網絡的外部加載的swf
如何控制外部加載的SWF代碼中的兒童在另一個外部加載的SWF中如何控制兒童?
編輯:下面是位於「ONE.swf」,我需要幫助你的代碼。只有一兩行我知道,但我只能得到它。
function FunctionInOne()
{
var parentObj:Object = this.parent.parent as Object; //// GIVES ACCESS TO "Content.swf"
var TheStage:Object = this.parent.parent.parent as Object; //// GIVES ACCESS TO STAGE
trace(TheStage.stage.stageWidth);
trace(parentObj); /// [object MainTimeline]
trace(parentObj.ONE); /// [object Loader]
trace(parentObj.TWO); /// [object Loader]
parentObj.alpha = .3; /// NOW I CONTROL THE ALPHA OF "Content.swf" from ONE.swf
var ControlTWO:Loader = parentObj.TWO; // GIVES ACCES TO LOADER TWO
ControlTWO.alpha = .3; // NOW I CONTROL THE ALPHA OF TWO.swf from ONE.swf
BUT HOW DO I GET ACCESS TO CONTROL THE CHILDREN IN "TWO.swf" from "ONE.swf"
var TWOchildren:MovieClip = MovieClip(TWO.content); // DOES NOT WORK
TWOchildren.ChildInTWO.alpha = .3;
var TWOchildren = TWO.content as MovieClip; // DOES NOT WORK
TWOchildren.ChildInTWO.alpha = .3; // DOES NOT WORK
TWOchidren.FunctionInTWO(); /// DOES NOT WORK
}
編輯:2012年3月16日
我能夠從ONE.swf訪問SWF TWO.swf和控制它的阿爾法這一行:
trace(MovieClip(parent.parent).ONE);
但我需要控制一個孩子,所以我認爲這個代碼可以工作,但它不會:
MovieClip(parent.parent).ONE.TheChild.alpha = .3;
編輯完---------------
這裏是另一個鏈接到它,如果你能看到它:http://mycontactcorner.com/sandbox/testing/ChildTwo.jpg
謝謝是的,我很快改變了代碼的一些變數。我想知道是否有一些錯誤,但它確實有效......除了我無法弄清楚的最終問題。 :)謝謝...我正在努力爲這個答案。 :) – 2012-03-15 08:45:44
P.S.什麼是「硬風格」編程? – 2012-03-15 08:46:02
所以現在有效?硬風格 - 我的意思是你推薦閱讀一些關於OOP,設計模式,並檢查親開發人員如何製作類似的應用程序來編寫更清潔,更好的代碼。 – turbosqel 2012-03-15 09:13:04