[FlashLite 1.1] 외부파일과 통신할 때 알아둘 것.

Flash Lite — Tags: , — Siaa @ 1:33 pm

Flash Lite로 제작된 컨텐츠에서 외부파일과 통신을 하려고 할 경우, 키 또는 버튼에 의한 이벤트가 발생했을 때만 외부와의 통신이 가능하다. 이것은 사용자가 모르는 사이에 외부와의 통신을 통해 통신요금을 부가하는 행위를 막기 위해서다.

대상이 되는 메소드는 getURL(), loadMovie(), loadVariables()등의 함수이다.
이 함수들을 사용할 때는 on핸들러(키 또는 버튼에 의한 이벤트) 안에서 사용해야 한다.

on (press){
	getURL("http://www.domain.com/");
}

그리고, 하나의 on핸들러(키 또는 버튼에 의한 이벤트)에서는 외부와의 통신이 한번만 가능하다.
아래와 같이 하나 이상의 통신처리를 실행하게 되면 먼저 실행된 통신만 처리된다.

on (press){
	loadMovie("a.swf");
	loadMovie("b.swf");
}

loadMovie()에 대해서 잠깐…
Flash Lite 1.1은 Flash 4에 해당하는 액션스크립트이기 때문에 외부이미지는 로드하지 못한다. 오직, swf파일만 로드할 수가 있다.

그리고 loadVariables()로 PHP나 CGI등과 연계해서 반환 값을 가져올 수 있다.
하지만, loadVariables()를 사용할 때 주의해야 할 것이 있다. 먼저 loadVariables()을 사용할 때 HTTP메소드를 지정할 경우, au와 SoftBank의 일부 기종에서는 POST통신이 되지 않는 경우가 있기 때문에 특별한 이유가 없는 한 GET통신을 하는 것이 좋다.

on (press) {
	loadVariables("db.php", _root, "GET");
}

그리고, PHP에서 주의해야 할 것은 헤더를 출력하지 않으면 au에서는 정상적으로 처리되지 않는다.

<?php
	header("Content-type:text/plain");
?>

그 외에, loadVariables()로 외부 텍스트를 불러올 수도 있다.
단, XML형식은 지원되지 않기 때문에 아래와 같은 방법으로 사용한다.

변수1=값1&변수2=값2&변수3=값3&……%eof=1

위의 eof변수는 Flash Lite 1.1에서 외부 텍스트 파일을 어느 정도 불러왔는지에 대한 진행상황을 알 수 없어서, 반복처리를 통해 eof의 변수가 1이라면 로드가 완료되었다는 것을 알기 위한 변수이다.

  • Share/Bookmark

0 Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2010 blog.flasia.com | powered by WordPress with Barecity