2012-03-09 101 views
-1

我創建的Flash動畫的一部分涉及人們可以在筆記本上書寫,保存其工作並在稍後更新的區域。該文件將在用戶下載之前下載,而不是從網頁上下載。這裏是我的代碼至今:創建「加載文本」按鈕時出現錯誤1119

import flash.events.MouseEvent; 
import flash.net.FileReference; 
import flash.display.MovieClip; 
import flash.events.Event; 

stop(); 

var MyNotes:FileReference = new FileReference() 


Save_btn.addEventListener (MouseEvent.CLICK, SaveText); 

function SaveText(Event:MouseEvent):void { 
MyNotes.save(TypeOwn_txt.text, "MyNotes.txt"); 
} 

Load_btn.addEventListener (MouseEvent.CLICK, LoadText); 

function LoadText(Event:MouseEvent):void { 
MyNotes.addEventListener(Event.SELECT, onFileSelected); 
var swfTypeFilter:FileFilter = new FileFilter("Text Files","*.txt; .html;*.htm;*.php"); 
var allTypeFilter:FileFilter = new FileFilter("All Files (*.*)","*.*"); 
MyNotes.browse([swfTypeFilter, allTypeFilter]); 
} 

function onFileSelected(event:Event):void 
{ 
trace("onFileSelected"); 
MyNotes.addEventListener(Event.COMPLETE, onFileLoaded); 
MyNotes.load(); 
} 

function onFileLoaded(event:Event):void 
{ 
var fileReference:FileReference=event.target as FileReference; 
var data:ByteArray=fileReference["data"]; 
TypeOwn_txt.text=data.toString(); 
} 

問題是,我收到一個「符號‘結構摘要’,第二層‘操作’,第29幀,第19行1119:可能未定義的屬性的訪問選擇通過參考與靜態類型flash.events:MouseEvent。 「有關的行」MyNotes.addEventListener(Event.SELECT,onFileSelected);「。我已經做了一些調查,並瞭解這是與父母不被識別爲影片剪輯,或沿着這些線的東西。我仍然不確定,但是我不知道如何繼續!謝謝。

+1

就像說明一樣,您不應該像MyNotes一樣使成員變量大寫。通常以資本開始的聲明表示一個類。如果MyNotes說的話,一個靜態成員的類將會很好,但它只是一個局部變量,所以你應該使它以小寫字母開頭,或者如果你想獲得真正的技術性,下劃線後跟小寫字母。 – 2012-03-09 20:37:35

+1

1151應該是:「在命名空間內部存在定義SOMEVAR的衝突。」這意味着您已經在其他地方定義了該變量。 在這種情況下,請查找其他地方您輸入了「var MyNotes」。 – 2012-03-09 20:38:06

+0

此外,我們需要查看更多代碼,或者您必須重新測試,因爲錯誤1151不是您描述的問題。它來自同一空間中存在的重複名稱。看到http://curtismorley.com/2008/05/06/flex-flash-error-1151/ – 2012-03-09 20:39:47

回答

0

只是讓你知道問題解決了,雖然我真的不知道如何。我使用this site作爲模板並向後工作。如果它對其他人有用,我會把它放在下面的工作代碼中。

import flash.events.MouseEvent; 
import flash.net.FileReference; 
import flash.net.FileFilter; 
import flash.utils.ByteArray; 
import flash.events.MouseEvent; 
import flash.events.Event; 
import flash.events.IOErrorEvent; 
import flash.display.MovieClip; 

var myNotes:FileReference; 

Load_btn.addEventListener(MouseEvent.CLICK, onLoadClicked); 

function onLoadClicked(event:MouseEvent):void 
{ 
    trace("onBrowse"); 
    myNotes=new FileReference(); 
    myNotes.addEventListener(Event.SELECT, onFileSelected); 
    var swfTypeFilter:FileFilter = new FileFilter("Text Files","*.txt; *.html;*.htm;*.php"); 
    var allTypeFilter:FileFilter = new FileFilter("All Files (*.*)","*.*"); 
    myNotes.browse([swfTypeFilter, allTypeFilter]); 
} 


function onFileSelected(event:Event):void 
{ 
    trace("onFileSelected"); 

    myNotes.addEventListener(Event.COMPLETE, onFileLoaded); 
    myNotes.addEventListener(IOErrorEvent.IO_ERROR, onFileLoadError); 
    myNotes.load(); 
} 

function onFileLoaded(event:Event):void 
{ 
    var fileReference:FileReference=event.target as FileReference; 
    var data:ByteArray=fileReference["data"]; 
    textArea.text=data.toString(); 
    myNotes.removeEventListener(Event.COMPLETE, onFileLoaded); 
    myNotes.removeEventListener(IOErrorEvent.IO_ERROR, onFileLoadError); 
} 

function onFileLoadError(event:Event):void 
{ 
    myNotes.removeEventListener(Event.COMPLETE, onFileLoaded); 
    myNotes.removeEventListener(IOErrorEvent.IO_ERROR, onFileLoadError); 

    trace("File load error"); 
} 

Save_btn.addEventListener (MouseEvent.CLICK, SaveText); 

function SaveText(Event:MouseEvent):void { 
    myNotes=new FileReference(); 
    myNotes.save(textArea.text, "MyNotes.txt"); 
} 

感謝大家誰貢獻。