Grupa użytkowników oprogramowania Adobe Poznań

Tworzenie prostej aplikacjii AIR – chrome’owane okna

September 7, 2008 – 11:39 pm | by Robert

Chciałem pokazać w tym tutorialu jak zrobić prostą aplikację AIR we Flashu.

bmd calc

Konkretnie – będzie to kalkulator, z nastawieniem na kolorową i ciekawą oprawę graficzną – użyjemy trybu chrome okna (czyli okno będzie miało niestandardowy kształt).
Głównym celem tego posta jest pokazanie jak tworzyć aplikacje z chrome’owanymi oknami oraz przechwytywać eventy z klawiatury i myszki.

Projekt

Możemy zaprojektować interface naszego widget’a od razu we Flashu lub zaimportować dowolny plik graficzny (np. z Photoshopa). W tym przypadku wszystkie elementy zostały narysowane bezpośrednio we Flashu. Tworzenie grafiki odbywa się dokładnie w ten sam sposób co “regularne” tworzenie Flashowych treści.
(przy okazji – projekt kalkulatora jest rozpowszechniony zgodnie z licencją Creative Commons – można całość lub dowolne elementy wykorzystać w prywatnych i komercyjnych pracach – to samo dotyczy kodu).

Klasa Calc

Stworzymy klasę, która będzie odpowiadała za operacje kalkulatora.
Jest to odrobinę strzelanie z armaty do wróbli:)
Poniżej kod klasy:

package{
public class Calc{
public static function sum(liczba1:Number,liczba2:Number):Number{
var wynik = liczba1 + liczba2;
return wynik;
}
public static function deduct(liczba1:Number,liczba2:Number):Number{
var wynik = liczba1 - liczba2;
return wynik;
}
public static function multiply(liczba1:Number,liczba2:Number):Number{
var wynik = liczba1 * liczba2;
return wynik;
}
public static function divide(liczba1:Number,liczba2:Number):Number{
var wynik = liczba1 / liczba2;
return wynik;
}
}
}

Kodowanie kalkulatora

Poniżej omawiam kod kalkulatora (najciekawsze elementy). Pełen kod z komentarzami jest do ściągnięcia na koncu posta.

import flash.desktop.NativeApplication;

Tego potrzebujemy aby obsługiwać nasze chromowane okno.


var myCalc:Calc = new Calc();

Tworzymy nowy obiekt klasy Calc.


function calculateResult()
{
...
}

Funkcja wykorzystująca obiekt Calc i obliczająca rezultat.


function removeTrailingZeros()
{
...
}

Funkcja do usuwania zer na końcu wyniku.


function calculatorInterface(action:String)
{
...
}

Interface kalkulatora – czyli akcje powiązane z odpowiednimi klawiszami.


function reportKeyDown(event:KeyboardEvent):void
{
trace(String.fromCharCode(event.charCode))
...
}
stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown);

Listener’y dla eventów związanych z klawiaturą.
Kiedy na klawiaturze zostaje naciśnięty klawisz – jego kod jest przekazany do funkcji interface’u.


theCalc.moveButton.addEventListener(MouseEvent.MOUSE_DOWN, moveWindow);
function moveWindow(event:MouseEvent):void {
//przesuwanie okna
stage.nativeWindow.startMove();
}
theCalc.calcCloseButton.buttonMode = true;
theCalc.calcCloseButton.addEventListener(MouseEvent.MOUSE_DOWN, closeWindow)
function closeWindow(event:MouseEvent):void {
//zamykanie okna
NativeApplication.nativeApplication.exit();
}
theCalc.minimizeButton.buttonMode = true;
theCalc.minimizeButton.addEventListener(MouseEvent.CLICK, minimize_CLICK);
function minimize_CLICK(event:MouseEvent):void
{
//minimalizacja okna
stage.nativeWindow.minimize();
}

Kod odpowiedzialny za zamykanie, przesuwanie i minimalizację okna.
Jako, że nasz widget ma chromowane okno – musimy te akcje dorobić sami.

Tworzenie pliku AIR

Do tej pory stworzyliśmy najzwyklejszy w świecie plik Flash oparty na AS 3.0 – czas zamienić go w aplikację AIR.
Najpierw wybieramy menu File – Publish Settings. Pod tabem “Flash” wybieramy opcję “Version” na “Adobe AIR 1.0″.
Następnie z menu Commands wybieramy opcję “AIR – Application and Installer Settings”.

Deploy1

W tym oknie możemy określić parametry tworzonego installera.
Na razie większość opcji pozostawiamy w domyślnym ustawieniu – poza “Window Style”, które zmieniamy na “Custom Chorme (transparent)”.

Deploy2

Ostatnim krokiem jest wskazanie pliku z certyfikatem. Certyfikat należy kupić – np. na stronie Adobe. Nie jest niezbędny do tworzenia plików AIR – ale użytkownicy mogą bardzo podejrzliwie podchodzić do aplikacji bez certyfikatu.

Deploy3

Download

Pliki:
Instalator kalkulatora
Źródła .fla i .as

Zapraszam do komentarzy:)

Related Post

Put Your Related Post Plugin Code Here :)
  1. 2 Responses to “Tworzenie prostej aplikacjii AIR – chrome’owane okna”

  2. By das on Jan 4, 2009 | Reply

    Plik .fla nie czyta mój flash 8

  3. By wrobel on Jan 17, 2009 | Reply

    aplikacje AIR wprowadzono od Flasha CS3 (trzeba mieć rozszerzenie) http://tiny.pl/vtz8

Post a Comment