2012-03-09 1 views
-1

作成しているFlashアニメーションのセクションには、メモ帳に書き込んで作業を保存して後で更新できる領域があります。ファイルは、Webページからではなく、ユーザーが実行する前にダウンロードされます。ここで私が持っているコードは、これまでのところです:「テキストを読み込む」ボタンを作成するときのエラー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を受け取るです:参照による可能性が未定義のプロパティのアクセスは、SELECT static "flash.events:MouseEvent。 "という行は、 "MyNotes.addEventListener(Event.SELECT、onFileSelected);"という行に関連しています。私はいくつかの調査を行いました。これは、親がMovieClipとして識別されていないこと、またはそれらの行に沿ったものと関係があると理解しています。私はまだ分かりませんが、手がかりはありません。ありがとう。

+1

メモのように、MyNotesのようにメンバー変数を大文字にするべきではありません。通常、資本で始まる宣言は、クラスを示すものです。 MyNotesが言うならば、静的メンバを持つクラスですが、それはローカル変数ですので、小文字で始めるか、本当にテクニカルにしたい場合はアンダースコアに続けて小文字を使います。 –

+1

1151は次のようになります。 "内部空間の名前空間SOMEVARの定義との競合があります。つまり、あなたはすでに他の場所でその変数を定義しています。 この場合、「var MyNotes」と入力した場所を探します。 –

+0

エラー1151は、あなたが記述した問題ではないので、さらにコードを見たり、再テストする必要があります。それは同じ空間に存在する重複した名前に由来します。 http://curtismorley.com/2008/05/06/flex-flash-error-1151/ –

答えて

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"); 
} 

貢献したすべての人に感謝します。

関連する問題