2012-03-11 28 views
2

iam計劃創建一個通過pin保護的照片/視頻庫。 所以我打算有4頁,登錄,菜單,圖像頁面和視頻視圖。 登錄將是一個簡單的文本框,我檢查針。 該菜單將顯示我創建的列表中的所有圖片專輯和視頻,可點擊的精靈或按鈕或類似的東西。還有一個視頻視圖,如果我點擊菜單頁上的視頻鏈接,視頻將顯示在視頻中。瞭解Flash/Actionscript以創建具有多個頁面的應用程序

我試圖在flash cs5中準備場景,所以我決定創建4個幀。 ALl頁面有自己的圖層。第一個將是登錄,第二個菜單,第三個圖像視圖(包括縮略圖顯示和全屏視圖彈出)和視頻視圖。在每個關鍵幀上,我放置了一個矩形,將其轉換爲一個影片剪輯,作爲所有內容都將進入的主要容器。

現在我試圖通過調整它們的大小來每次調整舞臺大小時初始化所有這些影片剪輯。爲此我得到錯誤,一些影片剪輯爲空。這是因爲影片剪輯僅存在關鍵幀2的菜單或關鍵幀3的圖像頁面和關鍵幀4的視頻視圖。所以我必須將它們全部放入關鍵幀1才能訪問。但我創建了4個關鍵幀,因爲我想通過使用「gotoAndStop(n)」跳轉到它們,其中n代表關鍵幀2,3或4.

我不明白,Flash如何解釋代碼以及如何這些影片剪輯的可見性。我只能從關鍵幀2訪問MovieClip,因爲我只將它添加到關鍵幀2上?什麼是最好的解決方案有一個簡單的4頁的應用程序,其中第1頁(菜單)我點擊視頻鏈接,其中包含某種視頻ID,然後跳轉到視頻視圖的關鍵幀4,爲其提供該ID,但如何做到這一點時,腳本甚至不知道有一個視頻容器MovieClip。爲了讓Actioscript知道所有這些,我必須將它們移到關鍵幀1,但是接下來如何去做分頁。

看看我的項目中的以下截圖。它顯示了4個關鍵幀的時間軸。正如您所看到的,每個圖層都有4個幀,但MovieClip只有1個關鍵幀。我想我不需要添加4個關鍵幀,是嗎?

Timeline screenshot from my Flash Video/Photo Gallery Project

我之前做了一個簡單的照片庫,但我只用一個關鍵幀做所有的東西在裏面,所以訪問所有的影片剪輯時,我沒有任何問題,因爲我沒有需要做任何跳躍/分頁。我想單獨將每個頁面放在單獨的關鍵幀上,但可以通過Actionscript訪問其中的內容。我誤解了Actionscript的工作方式?

在此先感謝。

回答

2

我會停止使用多個幀(只有1個),並將其中的每個「頁面」放在他們自己的MovieClip中。然後,我要麼只製作當前頁面loginPageInstanceName.visible = true,要麼只製作其他menuPageInstanceName.visible = false等等,需要時甚至可以根據需要初始化每個頁面movieClip。

就個人而言,在多個框架中的代碼驅使我堅果。我會讓所有的代碼只在一個地方在頂層產生效果,最好是在swf的自定義文檔類中,或者在第一幀的頂層,比如你的「Action」層。然後,我會在其自己的類中向每個「Page」指定特定的代碼,或者在其「導出到actionscript」定義的類中,或者以與相應MovieClip的「Action」層中的頂級代碼相同的方式。

我希望有幫助。

+0

聽起來很有趣。但是,我不需要在設計師級別上定義任何東西。我只有一個圖層和一個帶有Actionscript代碼的框架。然後我會創建所有的影片剪輯,除了登錄剪輯之外,它們都是隱形的,並且做所有的事情。 我認爲每個頁面都有像我的屏幕截圖一樣的關鍵幀,這使得我的Flash項目更加乾淨,我的意思是具有更好的可讀性和一些我可以稱之爲模塊化的東西,因爲一切都被拆分了。我想只有一個類作爲PageManager在MovieClip之間切換。謝謝。 – NovumCoder 2012-03-12 09:14:42

+0

如果您選擇可見性路線,您仍然可以擁有所有圖層,只需1幀即可。如果需要,您可以在代碼中處理所有內容,但不包含圖層。 – ToddBFisher 2012-03-12 21:15:19

0

簡短的回答, 首先創建一個MovieClip(),然後點擊裏面的它刪除其內容從現在開始該時間軸上再犯同樣的事情,但把所有的代碼在主timline並參考實例名稱,例如

AllmyClips.gotoAndStop(1); 
    // allMyClips is the instance name 

    if(allMyClips.textbox1.text == "bob" && allMyClips.passwordbox.text == "thispassword"){ 
     AllmyClips.gotoAndStop(2); 
    } 

它很容易只是button1.addEventListners並拋出上述函數();

現在所有viarbles的可以是全局的,易於發揮作用,如果你能某處上傳FLA,我會爲您解決問題,即時通訊無聊所以沒有問題,你不應該在後臺大隱形夾子

相關問題