[AS3] Capabilities 클래스

Programming/ActionScript 3.0 2007. 6. 20. 04:30

Capabilities 클래스를 사용하면 개발자는 SWF 파일의 실행 환경에 관한 정보를 취득할 수 있다. Capabilities 클래스의 다양한 프롭퍼티에 의해서 유저의 시스템에 있어서의 화면 해상도에 대한 서포트의 유무, 유저의 operating system의 언어, 및, 현재 인스톨 되어 있는 Flash Player의 버전을 알 수 있다.

Capabilities 클래스의 프롭퍼티를 확인해보면 실제 유저 환경에 따라 어플리케이션의 동작을 최적으로 조정할 수 있다 .예를 들어 Capabilities.screenResolutionX 및 Capabilities.screenResolutionY 프롭퍼티를 조사하는 것으로 유저의 시스템으로 사용되고 있는 디스플레이 해상도를 판별하여 어느 사이즈의 비디오가 최적인가를 판단할 수 있다. 또한 Capabilities.hasMP3 프롭퍼티를 조사하면 외부 MP3 파일을 로드하기 전에 유저의 시스템에 있어서 MP3 재생의 서포트 상황을 알 수 있다.

다음의 코드에서는 클라이언트 환경에 인스톨 되어 있는 Flash Player의 버전 정보를 정규 표현으로 해석하고 있다.

var versionString:String = Capabilities.version;
var pattern:RegExp = /^(w*) (d*),(d*),(d*),(d*)$/;
var result:Object = pattern.exec(versionString);
if (result != null) {
trace("input: " + result.input);
trace("platform: " + result[1]);
trace("majorVersion: " + result[2]);
trace("minorVersion: " + result[3]);
trace("buildNumber: " + result[4]);
trace("internalBuildNumber: " + result[5]);
} else {
trace("Unable to match RegExp.");
}
유저의 시스템의 기능에 관한 정보를 서버 사이드 스크립트에게 전하여 데이타베이스에 보존하려면 다음과 같은 ActionScript 코드를 사용할 수 있다.

var url:String = "log_visitor.cfm";
var request:URLRequest = new URLRequest(url);
request.method = URLRequestMethod.POST;
request.data = new URLVariables(Capabilities.serverString);
var loader:URLLoader = new URLLoader(request);
    

설정

트랙백

댓글