Projektowanie Grafiki (2003)
29
Uruchamianie zewnętrznych aplikacji - Open
on
exitFrame
me
open
"doc/test.avi"
with
"players/VPlayer"
end
Funkcja nie jest dostępna dla:
−
trybu Shockwave
−
dokumentu projektora przy włączonym trybie bezpiecznym safePlayer=TRUE
Pobieranie dokumentów
downloadNetThing
downloadNetThing URL
, localFile
np.
downLoadNetThing
(
"http://www.cos.pl/cos.cst"
,
the
applicationPath
&
"cos.cst"
)
castLib
(
"Cast Cos"
).
fileName
=
the
applicationPath
&
"cos.cst"
importFileInto
importFileInto member
whichCastMember,
fileName
{, [
#dither
: TrueOrFalse,
#trimWhiteSpace
:
TrueOrFalse]}
importFileInto member
whichCastMember
of
castLib
whichCast,
fileName
{, [
#dither
: TrueOrFalse,
#trimWhiteSpace
: TrueOrFalse]}
importFileInto member
whichCastMember,
URL
{, [
#dither
: TrueOrFalse,
#trimWhiteSpace
:
TrueOrFalse]}
Umożliwia podmianę elementów obsady z plików zewnętrznych
– dla danych bitmapowych dostępne są opcje #dither (dom.FALSE) i #trimWhiteSpace (dom. TRUE).
np.
on
exitFrame
tempURL =
"http://www.cos.pl/cos.gif"
importFileInto
new
(
#bitmap
), tempUrl
end
on
exitFrame
importFileInto member
"Memory"
,
"Wind.wav"
end
preloadNetThing()
preloadNetThing
(
url
)
Funkcja pobiera dokument do lokalnego cache’a tak, aby można było go w przyszłości otworzyć bez zwłoki czasowej
związanej z pobieraniem. Funkcja zwraca identyfikator sieciowy, dzięki któremu można w przyszłości sprawdzić, czy
plik został już pobrany oraz zastosować w aplikacji dane z pobranego pliku. Funkcja działa w tle aplikacji Directora –
film dalej jest odtwarzany według ustalonego scenariusza. Możliwe jest pobieranie wielu plików jednocześnie, ale nie
zaleca się przekraczać liczby czterech jednoczesnych połączeń.
Uwaga: połączenia sieciowe Lingo mogą zakłócać dotwarzanie strumieniowego dźwięku Shockwave Audio (SWA).
np.
set
mynetid =
preloadNetThing
(
"http://www.yourserver.com/mymovie.dir"
)
Projektowanie Grafiki (2003)
30
netDone()
netDone
()
netDone
(netID)
Funkcja daje możliwość sprawdzenia stanu operacji sieciowej Lingo przeprowadzanych w tle.
(getNetText, preloadNetThing, gotoNetMovie, gotoNetPage, putNetText)
Gdy operacja została zakończona powodzeniem lub błędem, funkcja zwraca wartość TRUE.
Jeśli operacja nadal trwa, funkcja zwraca wartość FALSE.
Jeśli operacja została ukończona, informację zwrotną operacji sieciowej Lingo otrzymamy z wykorzystaniem funkcji
netTextResult.
Funkcja netDone() bez parametru dotyczy ostatnio wywołanej operacji sieciowej Lingo.
np.
on
exitFrame
if
netDone
() =
1
then
member
(
"Display Text"
).
text
=
netTextResult
()
end if
end
on
exitFrame
global
mynetID
if
netDone
(mynetID) =
FALSE then
go
to the
frame
end if
end
getNetText()
getNetText
(
URL
{, serverOSString} {,
characterSet
})
getNetText
(
URL
, propertyList {, serverOSString} {,
characterSet
})
Funkcja używana przy pobieraniu informacji tekstowej z serwerów HTTP i FTP.
Funkcja umożliwia przekazywanie parametrów do aplikacji sieciowej np. CGI.
Parametr serverOSString definiuje sposób kodowania znaku Return/Enter w propertylist.
(dom. UNIX, może być Win lub Mac)- parametr ten jest rzadko używany.
Parametr characterSet używany jest przy uruchamianiu aplikacji Directora w środowisku shift-JIS (system Japoński).
Możliwe ustawienie parametru to JIS, EUC, ASCII, and AUTO. Lingo konwertuje wtedy przesyłane dane z shift-JIS do
podanego typu.
np.
property
spriteNum
property
theNetID
on
mouseUp
me
theNetID =
getNetText
(
"http://BigServer.com/sample.txt"
)
end
on
exitFrame
me
if
netDone
(theNetID)
then
sprite
(
spriteNum
).
member
.
text
=
netTextResult
(theNetID)
end if
end
getNetText
(
"http://www.yourserver.com/cgi-bin/query.cgi?name=Bill"
)
getNetText
(
"http://www.yourserver.com/cgi-bin/query.cgi"
, [
#name
:
"Bill"
])
Projektowanie Grafiki (2003)
31
netError()
netError
()
netError
(netID)
Umożliwia detekcję kodu błędu powstałych przy operacjach sieciowych Lingo.
np.
on
exitFrame
global
mynetID
if
netError
(mynetID)<>
"OK"
then
beep
end
netTextResult()
netTextResult
(netID)
netTextResult
()
Zwraca wynik operacji sieciowej Lingo.
np.
global
gNetID
on
exitFrame
if
(
netDone
(gNetID) =
TRUE
)
and
(
netError
(gNetID) =
"OK"
)
then
member
(
"Display Text"
).
text
=
netTextResult
()
end if
end
postNetText()
postNetText
(
url
, propertyList {,serverOSString} {,serverCharSetString})
postNetText
(
url
, postText {,serverOSString} {,serverCharSetString})
Funkcja służy do wysyłania zapytań typu POST do wskazanego URL’a.
Odpowiedź serwera można odczytać funkcją netTextResult(netID), stan wykonania funkcją netDone(netID) oraz
powodzenie operacji funkcją netError(netID).
Uwaga: generowana odpowiedź serwera powinna używać MIME type "text/plain.".
Funkcja postNetText() używana jest do obszerniejszych zapytań. Metoda GET zwykle jest limitowana pod względem
objętości przekazywanego zapytania – zazwyczaj jest to 1 lub 4 KB.
np.
lastName =
member
(
"Last Name"
).
text
firstName =
member
(
"First Name"
).
text
totalScore =
member
(
"Current Score"
).
text
infoList = [
"FName"
:firstName,
"LName"
:lastName,
"Score"
:totalScore]
netID =
postNetText
(
"www.mydomain.com\userbase.cgi"
, infoList)