2012-03-09 75 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"); 
} 

感谢大家谁贡献。