2011-04-04 48 views
0

我正在製作Flash培訓視頻。我希望在視頻結尾處留言,以彈出一個動態確認碼。我有驗證碼的代碼,但無法在Flash視頻的結尾處或在aspx頁面內創建某些內容以觸發此消息。任何想法或想法如何解決這個將不勝感激。在Flash視頻結束時添加動態消息

謝謝。

+0

你到目前爲止嘗試過什麼?您是否使用URLLoader從ASP獲取確認碼? – 2011-04-04 18:35:05

回答

0

取決於應用程序的目的,你可以做任何一個。有一點需要考慮的是用戶必須通過Flash視頻才能獲得代碼。如果是這樣,您需要組織應用程序的流程,以便用戶無法欺騙他們獲取代碼的方式。

理想的方法是讓閃動在影片末尾調用aspx頁面以獲取動態代碼。這可以使用ActionScript 3.0中的URLLoader或ActionScript 2.0中的LoadVars來完成。

URLLoader例如

//this is the data 
var data = "This is data"; 
//url of your aspx code 
var request:URLRequest = new URLRequest("http://www.yourdomain.com/GenerateCode.aspx"); 
request.contentType = "text/xml"; 
request.data = data; 
//use POST method 
request.method = URLRequestMethod.POST; 
var loader:URLLoader = new URLLoader(); 
try 
{ 
    //execute the request 
    loader.load(request); 
} 
catch (error:ArgumentError) 
{ 
    trace("There is an ArgumentError."); 
} 

LoadVars例如:

//create LoadVars object 
    var lv_in:LoadVars = new LoadVars(); 
    var lv_out:LoadVars = new LoadVars(); 

    //set onLoad event 
    lv_in.onLoad = function(success:Boolean) 
    { 
     //if success, meaning data has received response from .net page, run this code 
     if (success) 
     { 
     //lv_in.status is use to get the posted data from .Net page 
      statusMsg.text = "Thank you!" + lv_in.status; 
     } 
     //if fail, run this code 
     else 
     { 
      statusMsg.text = "Error!"; 
     } 
    } 

    //this is the data 
    lv_out.data = "This is data"; 

    //begin invoke aspx page 
    lv_out.sendAndLoad("GenerateCode.aspx", lv_in, "POST"); 

還有另一種更簡單的方法,但不是最好的做法,我應該說的。更簡單的方法是直接用戶到aspx頁面生成動態代碼用戶完成flash電影。消極的一面是,儘管用戶沒有完成Flash影片,但仍可訪問該頁面。

+0

感謝您的回覆......但我對動作非常有限。這段代碼到底在哪裏?有沒有辦法在aspx頁面上實現代碼,以便在Flash視頻結束時觸發消息? – FluxEngine 2011-04-06 18:59:17

+0

你有Flash影片的** .fla **文件嗎?此代碼以ActionScript的形式進入Flash電影(打開** .fla **文件電影)。在我看來,這是更好的方式去做你正在努力完成的事情。但是,在Flash視頻上進行最少編輯時,您可以更輕鬆地進行選擇,這也是我上面介紹的。 – suhendri 2011-04-06 22:48:36