ini 특정 파일 찾기



var INIDataURL = "ini 파일명";
var INIDataLoad:LoadVars = new LoadVars();

INIDataLoad.onLoad = function(success:Boolean){
    if (success){
        oldINIstring = INIDataLoad;
       
        newINIstring = unescape(oldINIstring);
       
        sIndex  = newINIstring.indexOf("찾는 값");
   
        sHour = newINIstring.charAt(sIndex + 찾는 값의 index) + newINIstring.charAt(sIndex + 찾는 값의 index);

        }
}


INIDataLoad.load(INIDataURL);











천단위 콤마(,) 넣기

플래시 액션스크립트는 AS2든지, AS3든지 천단위 콤마를 넣어 주는 내장 함수를 제공해주지 않습니다.

그래서 구글링하고 응용한 결과.(응용이랄것도 없음)


//actionscript 2.0


textfild01["textarea" + 2].print_text = ""; //텍스트 필드 clear
my_number2 = aData[2]; //배열값 my_number2로
var dollar_array:Array = new Array();
var start:Number;
var end:Number = my_number2.length;
while (end > 0)
{
    start = Math.max(end - 3, 0);
    dollar_array.unshift(my_number2.slice(start, end));
    end = start;
}
aData[2] = dollar_array.join(",");

textfild01["textarea" + 2].print_text.text = aData[2];//콤마가 포함된 값을 dynamic text field에 넣음





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




금년 2011년인데, 2002년 fla파일을 열어볼 일이 있어서 open했더니

얘기치 않은 파일 형식이라는 메시지가 뜨면서 열리지가 않는다.

회사 플래시 파일은 cs5 정품인데도 열리지 않는다. 무엇이 문제일까.
보통 낮은 버전 플래시에서 높은 버전의 fla를 열면 이렇게 메시지 뜨던데 희한하다.







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

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

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






2011년 8월 현재 Adobe CS 5.5에서는 기본적으로 퍼블리싱 할 때 10.2까지 퍼블리싱이 가능합니다.
Adobe Player는 10.3으로 배포하고 있는 상황에서 10.3을 퍼블리싱 하기 위해서는 복잡하지는 않지만, 귀찮은 작업이 있습니다.

1. XML 파일 복사
C:\Program Files\Adobe\Adobe Flash CS5.5\Common\Configuration\Players 에 있는 FlashPlayer10_2.xml 파일을 하나 더 복사한 뒤에

  <player id="FlashPlayer10.3" version="12" asversion="3">
   <name>Flash Player 10.3</name>
.
.
.

   <playerDefinitionPath as2="$(UserConfig)/Classes/FP10;$(UserConfig)/Classes/FP9;$(UserConfig)/Classes/FP8;$(UserConfig)/Classes/FP7" as3="$(AppConfig)/ActionScript 3.0/FP10.3/playerglobal.swc" />

3라인을 수정하여 주시면 됩니다.


2. SWC 파일 복사
http://www.adobe.com/support/flashplayer/downloads.html#fp10.2

이 곳에서 다운받아 SWC 파일을

C:\Program Files\Adobe\Adobe Flash CS5.5\Common\Configuration\ActionScript 3.0\FP10.3 에 복사합니다.
FP10.3은 신규로 생성해야 합니다.

3. projector 다운
http://www.adobe.com/support/flashplayer/downloads.html#fp10.2 이 곳에서 projector 파일을 다운 받아서 C:\Program Files\Adobe\Adobe Flash CS5.5\Players 에 덮어 쓰기 하시면 됩니다.

또한 맥용 projector도 다운 받아서 같은 디렉토리에 카피 해주시면 됩니다.


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

[flash] 얘기치 않은 파일 형식입니다.  (0) 2011.10.26
[AS3] 잘 되던게 안된다. ㅜㅜ  (0) 2011.08.30
[AS3] text 파일 세이브, 로드  (0) 2011.01.14
getDefinitionByName  (0) 2011.01.09
상수 const  (0) 2011.01.09







 
 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




public static const 변수:String = "값";

값을 한 번만 대입할 수 있는 변수인 상수이며, 변수 이름은 대문자로 하고 있습니다.


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

[AS3] text 파일 세이브, 로드  (0) 2011.01.14
getDefinitionByName  (0) 2011.01.09
1180:call to a possibly undefined method addChild.  (0) 2010.12.07
flash oop 구조 정리 잘 된 곳~  (0) 2010.12.03
flash : if(stage) init();  (0) 2010.11.24



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