adobe 이 사람들 왜 그랬을까.

actionscript 2.0에서는

System.useCodepage = true;

p가 소문자!!!!!


actionscript 3.0에서는

System.useCodePage = true;

에러가 왜 나나 했네.


'tech > FLASH' 카테고리의 다른 글

ini 특정 파일 찾기  (0) 2013.09.11
천단위 콤마(,) 넣기  (0) 2012.05.11
[flash] 얘기치 않은 파일 형식입니다.  (0) 2011.10.26
[AS3] 잘 되던게 안된다. ㅜㅜ  (0) 2011.08.30
adobe flash 10.3으로 퍼블리싱 해봅시다.  (0) 2011.08.12







TypeError: Error #1085: 요소 유형 "items"은(는) 일치하는 끝 태그 "</items>"(으)로 끝나야 합니다.

어제까지만 해도 잘 되던 xml 로더가 오늘 집에 와서 해보니 안된다.
물론 xml에는 </items>가 있다.

xml 수정하지도 않았는데.....







 
 import flash.text.TextField;
import flash.net.FileReference;
import flash.events.Event;
import flash.text.TextFieldType;
import flash.events.MouseEvent;

System.useCodePage = false;

var fileLoad:FileReference;
var fileSave:FileReference;

loadbtn.addEventListener(MouseEvent.CLICK, onloadbtnClicked);
savebtn.addEventListener(MouseEvent.CLICK, saveClickListener);

function saveClickListener(e:MouseEvent):void
{
    statetext.text = "saveClickListener";
    fileSave = new FileReference();
    fileSave.addEventListener(Event.COMPLETE, fileCompleteListener);
    var str:String = myTextInput.text;
    fileSave.save(str, "test.txt");
}

function fileCompleteListener(e:Event):void
{
    statetext.text = "fileCompleteListener";
}

function onloadbtnClicked(event:MouseEvent):void
{
    statetext.text = "onBrowse";
    fileLoad = new FileReference();
    fileLoad.addEventListener(Event.SELECT, onFileSelected);
    //var swfTypeFilter:FileFilter = new FileFilter("Text Files","*.txt;");
    var allTypeFilter:FileFilter = new FileFilter("AlFl Files (*.*)","*.*");
    //fileLoad.browse([swfTypeFilter, allTypeFilter]);
    fileLoad.browse([allTypeFilter]);
}

function onFileSelected(event:Event):void
{
    statetext.text = "onFileSelected";
    fileLoad.addEventListener(Event.COMPLETE, onFileLoaded);
    fileLoad.addEventListener(IOErrorEvent.IO_ERROR, onFileLoadError);
    fileLoad.load();
}

function onFileLoaded(event:Event):void
{
    statetext.text = "onFileLoaded";
    var fileReference:FileReference = event.target as FileReference;
    trace("event.target : " + event.target.name);
    var data:ByteArray = fileReference["data"];

    myTextInput.text = data.toString();
    fileLoad.removeEventListener(Event.COMPLETE, onFileLoaded);
    fileLoad.removeEventListener(IOErrorEvent.IO_ERROR, onFileLoadError);
}

function onFileLoadError(event:Event):void
{
    fileLoad.removeEventListener(Event.COMPLETE, onFileLoaded);
    fileLoad.removeEventListener(IOErrorEvent.IO_ERROR, onFileLoadError);
    statetext.text = "File load error";
}


text파일 세이브와 로드를 만들 일이 있어서 만들게 되었습니다. load, save 작성 중 막히는 부분이 있어서 구글링을 하였습니다. 각 각 따로였지만, 정리를 제가 했습니다.

1. 디버그용으로 스테이지의 상단에 TextArea를 인스턴스 네임 statetext으로 생성했습니다.
2. statetext 하단에 myTextInput 인스턴스 네임을 갖는 TextArea 생성.

* TextArea 이 아닌 직접 inputText 형식으로 영역 그려주셔도 됩니다.



*참조 사이트 :
http://actionscriptexamples.com/2008/02/26/loading-text-files-using-the-urlloader-class-in-actionscript-30/
http://help.adobe.com/ko_KR/AS3LCR/Flash_10.0/
http://www.ilike2flash.com/2009/07/load-external-text-in-actionscript-3.html

'tech > FLASH' 카테고리의 다른 글

[AS3] 잘 되던게 안된다. ㅜㅜ  (0) 2011.08.30
adobe flash 10.3으로 퍼블리싱 해봅시다.  (0) 2011.08.12
getDefinitionByName  (0) 2011.01.09
상수 const  (0) 2011.01.09
1180:call to a possibly undefined method addChild.  (0) 2010.12.07




actionscript 2.0에서는 attachMovieClip을 사용하기 위해 linkage를 사용했었습니다.
3.0에서는 attachMovieClip이 없어졌고, 사용하기 위해서는 다음과 같이 사용합니다.

* getDefinitionByName
 매개 변수로 지정된 클래스의 클래스 객체에 대한 참조 반환

var _class:Class = getDefinitionByName("Circle") as Class;
var btn:SimpleButton = new _class() as SimpleButton;
addChild(btn);

1line : Circle linkage name을 클래스로 반환
2line : SimpleButton 참조




//////////////////////

var _class:Class = getDefinitionByName("snd") as Class;
var sound:Sound = new _class() as Sound;
sound.play();

linkage name : snd를 이용한 사운드 플레이

'tech > FLASH' 카테고리의 다른 글

adobe flash 10.3으로 퍼블리싱 해봅시다.  (0) 2011.08.12
[AS3] text 파일 세이브, 로드  (0) 2011.01.14
상수 const  (0) 2011.01.09
1180:call to a possibly undefined method addChild.  (0) 2010.12.07
flash oop 구조 정리 잘 된 곳~  (0) 2010.12.03



1180:call to a possibly undefined method addChild.
5000:The class 'filename' must subclass 'flash.disply.MovieClip' since it is linked to a library symbol of that type.

 
            var loadit = new Loader();
            loadit.load(new URLRequest("moving.swf"));
            addChild(loadit);



OOP가 아닐 때는 문제가 없었는데.......

loadMoving.as
 
package  {
    import flash.display.*;
    import flash.net.URLRequest;
   
    public class loadMoving
        {
        public function loadMoving()
        {
            var loadit = new Loader();
            loadit.load(new URLRequest("moving.swf"));
            addChild(loadit);
        }
    }
}


mian.fla - 클래스 지정 : loadMoving.as
moving.swf - 단순 애니메이션 파일입니다.

혹시나 해서 public class loadMoving 뒤에 extends MovieClip을 추가했더니 에러 없이 정상적으로 되었습니다.
무비클립 상속을 무조건 시켜줘야 되나 봅니다.

'tech > FLASH' 카테고리의 다른 글

getDefinitionByName  (0) 2011.01.09
상수 const  (0) 2011.01.09
flash oop 구조 정리 잘 된 곳~  (0) 2010.12.03
flash : if(stage) init();  (0) 2010.11.24
xml loading  (0) 2008.09.23

+ Recent posts