OpenLaszlo 수 run on AIR 것 같습니다. 덜 명백한 점은 OpenLaszlo 응용 프로그램이 파일 시스템 액세스와 같은 AIR 관련 API를 사용할 수 있는지 여부입니다. 그렇다면 정확히 어떻게 완료됩니까?OpenLaszlo 응용 프로그램이 AIR API에 액세스 할 수 있습니까?
답변
구체적인 내용은 없지만 링크 한 기사에서 자신의 응용 프로그램 창을 끌고 닫을 수 있다고 언급했습니다. 이 API는 AIR 전용 API (NativeWindow 클래스 참조)이므로 요청하는 부분이 어느 정도 가능해야합니다.
그러나 OpenLaszlo는 DHTML이 아닌 Flash에서 수행 할 수있는 작업을 구현하지 않으므로 로컬 파일 액세스와 같은 작업을 수행하는 방법이 분명하지 않을 수 있습니다. 아마도 기사에 링크 된 소스를 다운로드하고 창 끌어서 닫기를 어떻게 구현했는지 확인할 수 있습니다.
OpenLaszlo는 특정 런타임에서만 사용할 수있는 기능을 구현합니다. MP3 오디오 재생, Flash Player 웹캠 및 마이크 액세스, RTMP 스트리밍에도 마찬가지입니다. OpenLaszlo 컴파일러는 ActionScript 코드를 스크립트 및 메서드에 직접 삽입 할 수 있도록 지원합니다.
다음은 Event.DEACTIVATE 및 Event.ACTIVATE 이벤트를 포착하고 빨간색보기를 클릭하거나 터치하여 응용 프로그램을 종료 할 수있는 예제 응용 프로그램입니다.
패스 스루 > 태그를 사용하여 ActionScript 3 API를 가져올 수 있습니다. 캔버스, 클래스 정의 또는 코드의 모든 태그 인스턴스 내부에서 사용할 수 있습니다.
<canvas bgcolor="#ffffff" debug="false" height="100%" width="100%">
<passthrough when="$as3">
import flash.events.Event;
import flash.desktop.NativeApplication;
</passthrough>
<handler name="oninit">
NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE, __onDeactivate);
NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, __onActivate);
</handler>
<method name="__onActivate" args="ev">
Debug.info("onActivate");
Debug.info("frame rate is " + this.getDisplayObject().stage.frameRate)
</method>
<method name="__onDeactivate" args="ev">
Debug.info("onDeactivate");
Debug.info("frame rate is " + this.getDisplayObject().stage.frameRate)
</method>
<view width="80%" height="50%" bgcolor="red" clickable="true">
<passthrough>
import flash.desktop.NativeApplication;
</passthrough>
<handler name="onclick">
NativeApplication.nativeApplication.exit();
</handler>
</view>
</canvas>
당신이 코드 만 SWFx 런타임을위한 실행하려는 경우, 당신은 $의 AS3 속성 확인 블록으로이 코드를 삽입 확인할 수 있습니다 접근 방식을 사용하여
if ($as3) {
// Insert some code for the SWFx runtime or AIR applications only
}
를, 그것은 재 쉽게 DHTML, SWFx 또는 AIR 응용 프로그램에 LZX 코드를 사용하십시오.