1. Trang chủ
  2. » Luận Văn - Báo Cáo

công nghệ shockwave _ dịch vụ thông tin world wide web

70 339 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 70
Dung lượng 668 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mỗi sprite có thể có nhiều kích thước, hình dạng khác nhau trong phim, các thuộc tínhnày thay đổi được mặc dù phim vẫn truy nhập đến cùng một cast thành phần của cast vàcast thành phần đ

Trang 1

Mục lục

Ph n I: Tìm hi u v Macromedia Director 8 ầ ể ề 3

Ch ng 1: C b n v Director 8 ươ ơ ả ề 3

I.GI I THI U V MACROMEDIA DIRECTORỚ Ệ Ề 3

Có gì c bi t trong Director?đặ ệ 3

Shockwave: a s n ph m Director lên m ngđư ả ẩ ạ 4

II.CÁC THÀNH PH N C A DIRECTORẦ Ủ 4

C a s castử ổ 4

Stage 4

C a s Scoreử ổ 5

Sprite 5

Sprite Span 6

Sprite Overlay 6

Khung hình 7

Kênh 7

Kênh Tempo 7

Kênh palette 7

Kênh Transtion 8

Hai kênh âm thanh 8

Kênh script 8

Control Panel 9

III.CÁC K THU T T O HO T HÌNH TRONG DIRECTORỸ Ậ Ạ Ạ 9

K thu t Tweening trong Directorỹ ậ 10

Thay i đổ đường i c a m t spriteđ ủ ộ 11

Chuy n i các thành ph n cast c a m t spriteể đổ ầ ủ ộ 11

Ho t hình theo k thu t thay i khung hình (Frame-by-frame animation)ạ ỹ ậ đổ 12 Nhanh chóng t o ho t hình dùng nhi u thành ph n castạ ạ ề ầ 13

S dông Cast to Timeử 13

S d ng l nh Space to Timeử ụ ệ 13

S dông film loopử 14

T o ho t hình dùng l nh Lingoạ ạ ệ 14

Ch ươ ng 2: Lingo script trong Director 16

I S QUA V LINGOƠ Ề 16

Các lo i Lingo scriptạ 18

Các hàm x lý s ki n c a h th ng (system handler)ử ự ệ ủ ệ ố 19

Th t phân c p các thông báoứ ự ấ 19

Truy n các thông báo s ki nề ự ệ 21

II CÁC KI U BI N TRONG DIRECTORỂ Ế 22

Bi n c c bế ụ ộ 22

Bi n toàn c cế ụ 22

Ki u danh sáchể 22

Ki u s nguyên (integer)ể ố 25

Ki u s th p phânể ố ậ 25

Ki u bi u t ngể ể ượ 25

III DÙNG CÁC XTRAS M R NG CH C N NG C A DIRECTORĐỂ Ở Ộ Ứ Ă Ủ 25

Các ki u Xtrasể 25

L u tr trong các file ngoài dùng FileIOXtraư ữ 26

Ch ng 3: L p trình h ng i t ng b ng Lingo ươ ậ ướ đố ượ ằ 27

I SO SÁNH V I CÁC NGÔN NG HỚ Ữ ƯỚNG I TĐỐ ƯỢNG KHÁC 27

II C B N V SCRIPT CHA VÀ I TƠ Ả Ề ĐỐ ƯỢNG CON (CHILD OBJECT) 28

S khác nhau gi a i t ng con (child object) và behavior (hành vi)ự ữ đố ượ 28

Vi t mét script chaế 28

Dùng bi n meế 29

T o m t i t ng conạ ộ đố ượ 29

Ki m tra các thu c tính c a i t ng conể ộ ủ đố ượ 29

Trang 2

Ph n II: Công ngh shockwave trên internet ầ ệ 31

Ch ươ ng 4 : D ch v thông tin World Wide Web ị ụ 31

I NGU N G C RA I C A WORLD WIDE WEBỒ Ố ĐỜ Ủ 31

II KI N TRÚC C A WORLD WIDE WEBẾ Ủ 32

Web Server 32

Web Browser 32

Khái ni m HTTPệ 33

Khái ni m HTMLệ 34

III TÍCH H P CÁC D CH V THÔNG TIN TRONG WWWỢ Ị Ụ 34

World Wide Web và Gopher 34

World Wide Web và FTP 35

World Wide Web và WAIS 35

Tích h p các d ch v khác trong World Wide Webợ ị ụ 36

IV NG D NG C A WEBỨ Ụ Ủ 36

Website trên Internet 36

ng d ng c a Web ứ ụ ủ 38

V GI I THI U V CGI (COMMON GATEWAY INTERFACE)Ớ Ệ Ề 39

Gi i thi u chungớ ệ 39

L p trình CGI là gì?ậ 41

HTML, HTTP và chương trình CGI 41

Các th m c trên serverư ụ 42

M u l p trình CGIẫ ậ 44

Các ch ng trình CGI và v n b o m tươ ấ đề ả ậ 45

Truy n thông gi a server và browserề ữ 46

Ch ng 5: Công ngh Shockwave ươ ệ 49

I LINGO CHO HO T Ạ ĐỘNG TRÊN INTERNET 49

L y d li u t m ngấ ữ ệ ừ ạ 49

Ki m tra tr ng thái c a ho t ng backgroundloadingể ạ ủ ạ độ 50

Streaming multimedia 51

II S D NG URL V I LINGOỬ Ụ Ớ 51

III I U KHI N TRÌNH DUY TĐỀ Ể Ệ 52

Nh ng i m khác khi dùng Lingo trong trình duy tữ đ ể ệ 52

Scripting trên trình duy tệ 52

IV LINGO GIAO TI P V I TRÌNH DUY TẾ Ớ Ệ 53

Ph n III: xây d ng Ch ng trình ầ ự ươ 54

Ch ươ ng 6: Phân tích ch ươ ng trình 54

I N I DUNG CHỘ ƯƠNG TRÌNH: 54

II T NG TH CHỔ Ể ƯƠNG TRÌNH 55

Ch ươ ng 7: Xây d ng ch ự ươ ng trình 55

I PHIM LEFT.DIR 55

C u trúc d li uấ ữ ệ 56

Ho t ng c a ch ng trìnhạ độ ủ ươ 60

II PHIM SUAMENU.DIR: 67

Ho t ng c a ch ng trìnhạ độ ủ ươ 67

Ch ng 8: ánh giá và h ng phát tri n ươ Đ ướ ể 70

I CÁC K T QU T Ế ẢĐẠ ĐƯỢ 70C II HƯỚNG PHÁT TRI NỂ 70

III THAM KH OẢ 70

1.http://www.Macromedia.com 70

2.http://www.shockwave.com 70

Trang 3

Phần I: Tìm hiểu về Macromedia Director 8

Chương 1: Cơ bản về Director 8 I.GIỚI THIỆU VỀ MACROMEDIA DIRECTOR

Chương trình multimedia là một chương trình tích hợp cả văn bản, âm thanh, hình ảnh

Để tạo ra những chương trình mulitmeda sống động đòi hỏi phải có các công cụ chuyên

để tạo lập chúng Macromedia Director là một công cụ phục vụ cho mục đích này.Director là một công cụ chuẩn công nghiệp để xây dựng các sản phẩm multimedia vàcác ứng dụng chạy trên mạng Internet hay còng nh mạng intranet Director không chỉ cókhả năng kết hợp các phần tử để tạo ra các sản phẩm, mà còn cung cấp khả năng lậptrình mềm dẻo bằng ngôn ngữ Lingo Scrpt để tạo các hiệu quả mong muốn Hiện nay,Director được dùng rộng rãi để tạo ra các trang WEB multimedia, các chương trình dạyhọc, các trò chơi trên máy tính

Bởi vì Director có khả năng kết hợp âm thanh còng nh hình ảnh tĩnh và động, người tagọi các sản phẩm của nó là multimedia (đa phương tiện) Trên thị trường đĩa CD-ROM,Director là một công cụ tạo lập tiêu chuẩn Một vài công cụ multimeda đang được sửdụng để tạo ra các sản phẩm trên đĩa CD, nhưng Macromedia đã lên tục cải tiến và nângcấp sản phẩm để đáp ứng nhu cầu cho Internet/intranet Director 8 có các chức năng tiệnlợi để đưa multimedia lên mạng

Có gì đặc biệt trong Director?

Director đi tiên phong trong lĩnh vực tạo multimedia, nhưng cũng có rất nhiều đốithủ cạnh tranh nh: SuperCard, Apple Media Toolkit, và Quark/mFactory, mTropolis, vàngay cả sản phẩm cùng hãng : Authorware Professional Vậy điều gì đã làm choDirector giữ được vị trí dẫn đầu của mình? Đó là do các ưu điểm của nã nh:

Khả năng tạo ảnh động

Director tạo ảnh chuyển động bằng kỹ thuật thay thế các thành phần trong từng líp vàtrình diễn chúng qua từng khung hình một (frame-by-frame) Điều này có thể đòi hỏithời gian phát triển dài nhưng bù lại là ta có vật thể chuyển động thật hơn

Khả năng chạy trên nhiều hệ thống

Không phải tất cả các phần mềm đều có thể chạy trên mọi máy tính Có nhiều loại hệđiều hành khác nhau, và hầu hết phần mềm được thiết kế để tương thích với một trongcác hệ điều hành đó Một vài sản phẩm phần mềm được “di chuyển” từ một hệ thốngsang hệ thống khác (thường là Macintosh sang Windows, và ngược lại), nhưng nhữngphiên bản được chuyển này đòi hỏi phải được “viết lại” rất nhiều

Khi thị trường multimedia hình thành, các nhà phát triển gặp phải một chút bănkhoăn Đó là do Macintosh cung cấp khả năng đồ hoạ cao, vì thế nó là hệ điều hànhđược các nhà thiết kế chọn lùa, nhưng với mục tiêu là số lượng người dùng thì Windowsvượt hẳn Có thể kết hợp những mặt tốt của cả hai? Bằng cách xây dựng multimedia trênMacintosh và sau đó chuyển sang Windows

Director có thể làm cho quá trình trên trở nên đơn giản Hiện nay, Director có haiphiên bản chạy trên Macintosh và trên Windows, và các file được tạo ra trên hệ điềuhành này có thể được mở trực tiếp từ Director trên hệ điều hành kia Quá trình chuyểnđổi mặc dù không được trơn tru lắm nhưng cũng ăn đứt việc viết lại chương trình

Trang 4

Shockwave: đưa sản phẩm Director lên mạng

Với sự phát triển của công nghệ Shockwave, mọt phim Director có thể được đưa lêntrang web một cách đơn giản: người dùng có thể tương tác với phim Director trong trangweb Chuyển từ phim Director thành dạng Shockwave rất dễ dàng và chỉ đòi hỏi mộtchút hiều biết

Trong môi trường tương tác trực tuyến, đối thủ cạnh tranh chính của Shockwave làJava - và Java có một số ưu điểm so với Shockwave Nhưng java đòi hỏi phải tạomultimedia từ đầu, trong khi Shockwave chỉ đơn giản được chuyển từ Director sang.Phim dạng Shockwave được nhúng vào trang Web ( nh Java Applet ) và chạy được nhờvào một plug-in riêng

II.CÁC THÀNH PHẦN CỦA DIRECTOR

Director cung cấp hai loại cast là cast bên trong (internal cast) và cast ngoài (externalcast) và chúng được phân loại thành cast âm thanh, cast hình ảnh, video, cast, văn bảnhoặc thành cast nót bấm, cast thủ tục

Cửa sổ cast

Cửa sổ cast thể hiện các cast hiện có, cho phép người lập trình tạo mới các cast hay cáccast thành phần, soạn mới một cast, đặt các thuộc tính cho cast, viết các thủ tục cho castthành phần, xem số hiệu và tên cast thành phần, kéo thả một cast thành phần vào stage,

Để hiển thị các dữ liệu trên màn hình, Director phải truy nhập tới cơ sở dữ liệu của ứngdụng Đối với các phim được tạo bằng máy tính, cast bao gồm một số phần tử cơ bản(media element) nh đồ hoạ, âm thanh, văn bản, các file 3D, video số và các phimDirector Các loại dữ liệu khác của cast nh các bảng màu tự tạo, các thủ tục được nhập

từ ngoài hoặc được tạo ra trong quá trình làm việc với Director Những cast này là castngoài, nhưng ta vẫn có thể truy nhập chúng từ cửa sổ cast

Stage

Stage là nơi trình diễn của phim, mọi cái người dùng có thể nhìn thấy và điều khiển đềudiễn ra ở stage

Trang 5

Trước khi xây dựng một ứng dụng, ta cần xác định kích thước của stage Việc thay đổi

kích thước của stage sau khi xây dựng ứng dụng hay sau khi kết thúc công việc là một

điều rất bất lợi Để thay đổi kích thước của stage, ta sử dông hộp thoại movie Properties

bằng cách chọn menu Modify->Movie->properties Kích thước mặc định của stage là

640x480 Trong Director cũng có một thuộc tính dùng để hiển thị phim trên toàn bộ màn

hình (stage sẽ chiếm toàn bộ màn hình) đó là full screen

Ta cũng có thể sử dụng hộp thoại Movie Properties để thay đổi màu của stage Trong

hộp thoại này, kích vào ô bên cạnh stage color, một bảng màu sẽ hiện ra cho ta lùa chọn

Ngoài ra, ta có thể thay đổi màu của stage bằng lệnh Lingo Nháy đúp chuột vào kênh

script trong score sau đó đưa thêm dòng lệnh sau vào vị trí cần thiết

Set the stagecolor to color_num

Cửa sổ Score

Score là trung tâm điều khiển của Director, nó phản ánh tình trạng, nội dung của stage

và các đối tượng đặt trên stage trong mét khung hình nhất định nào đó Có thể nói score

chính là biểu diễn của phim

Sprite

Là hiện diện của một cast thành phần trên stage Mỗi ô (cell) của score chứa thông tin về

một cast thành phần tại một thời điểm và được gọi là một sprite Tại mỗi thời điểm,

Director 8 cung cấp tới 1000 kênh sprite và nó cho phép tắt các kênh không cần thiết

để tối ưu quá trình thực hiện Vị trí của sprite được xác định dùa vào gốc toạ độ ( góc

trái trên cùng của stage)

Sprite không phải là một cast thành phần mà chỉ chứa thông tin liên quan tới cast thành

phần đó trên stage, nh vị trí hiển thị, các hiệu ứng đặc biệt, mỗi sprite chiếm một

vùng hình chữ nhật trên stage Mỗi khi ta đặt một cast thành phần vào stage, mét sprite

Playback head

Sprite trong score

Trang 6

sẽ xuất hiện trong score và ngược lại, khi ta đặt một cast thành phần vào score nó cũng

tự động được đặt vào stage

Khi thực hiện, score của Director sẽ kiểm tra xem cast thành phần nào được hiển thị trênstage và truy cập các thông tin về nó tại mỗi thời điểm ( điều này toạ điều kiện trong quátrình xử lý ảnh động) Khi chuyển sang khung hình tiếp theo, Director sẽ đọc score,kiểm tra các thông tin của các sprite và phát hiện ra các sprite có thay đổi Khi đó,Director chỉ cần đọc dữ liệu từ các cast thành phần tương ứng và hiển thị nó lên màn

hình Score của Director có tới 1000 kênh sprite nên tại mỗi thời điểm nó có thể hiển thị

1000 sprite lên stage

Mỗi sprite có thể có nhiều kích thước, hình dạng khác nhau trong phim, các thuộc tínhnày thay đổi được mặc dù phim vẫn truy nhập đến cùng một cast thành phần của cast vàcast thành phần đó không thay đổi Mỗi cast thành phần có thể xuất hiện nhiều lần trongphim, tức là chiếm nhiều sprite, nhưng nó vẫn chỉ chiếm một vị trí trong cửa sổ cast.Người ta thường dùng lệnh Lingo để thay đổi các thuộc tính của sprite khi người dùng

có tương tác với phim Thông thường ta truy cập sprite bằng số hiệu của nã Director 8chứa nhiều loại sprite hơn các phiên bản trước, nh :

Sprite Span

Mỗi sprite chiếm giữ một ô và ta phải dùng In-between Sprite dọc theo score khi tamuốn nhìn thấy chúng trên stage Trong Director ta có thể dùng các lệnh In-BetweenLinear và In-Between Special để tạo các hình ảnh động và các hoạt động trên stage tạibất kỳ thời điểm nào

Director xem các sprite nh các đối tượng trong một khoảng thời gian xác định Khi takéo một cast thành phần vào stage, sprite đã tạo ra sẽ chiếm 28 khung, mỗi khung chứamột thể hiện xác định của sprite Giá trị mặc định này có thể thay đổi trong một hộpthoại sprite preferences

Khi ta dịch chuyển một sprite trên stage, mọi thể hiện của sprite đó trong Sprite Spancũng dịch chuyển theo Nếu ta kích vào một ô trên score, không phải chỉ một ô mà toàn

bộ sprite ta vừa chọn sẽ sáng lên Tương tự nếu ta dịch chuyển này trong score toàn bộsprite sẽ dịch chuyển Nếu ta muốn soạn thảo các khung riêng biệt trong mét sprite, nh

trong các phiên bản trước, ta có thể chọn Edit->edit sprite frames Khi soạn thảo ở chế

độ này, việc cập nhật sẽ diễn ra trong từng ô riêng biệt Để đưa chúng trở lại thành spritespan hoàn chỉnh, ta chọn các sprite này trên menu Edit->Edit entire sprite Dùng lùachọn này, việc soạn thảo sẽ làm thay đổi toàn bộ sprite span Ta có thể thày đổi số khung

mà sprite span từ 28 đến một giá trị tuỳ ý bằng cách dùng hộp thoại Sprite Preferences

Để làm việc với từng sprite nh trong phiên bản trước đổi span duration về 1

Sprite Overlay

Nếu bật Sprite Overlay, ta có thể nhìn trực tiếp thông tin về sprite trong một hình chữnhật nhỏ, trong suốt nằm dưới sprite trên stage Sprite Overlay hiển thị tự động thông tinsprite

Ta không cần mở hộp thoại Sprite Properties để soạn thảo các thuộc tính của sprite Ta

có thể dùng Sprite Overlay và Sprite inspector với nhau để soạn trực tiếp các sprite trênstage Nếu ta cần mở hộp thoại Sprite Properties cho các ứng dụng khác, ta có tể nhanhchóng mở nó từ nót có chữ I màu đỏ trong Sprite Overlay Ta cũng có thể mở trực tiếphộp thoại Cast Member Properties và Behavior inspector từ Sprite Overlay

Trang 7

Để thay đổi các thiết lập Sprite Overlay, mở hộp thoại Overlay Settings từ menu View,Sprite Overlay, Settings.

Khung hình

Khung hình được hiển thị trong stage dưới dạng một cột Mỗi cột gồm có 1000 hàng.Mỗi hàng là một trong 1000 kênh của score Số lượng khung hình không hạn chế Ta cóthể nhìn thấy soó hiệu khung hình hiện thới đang dược hiển thị trên score hoặc controlpanel của Director

Mỗi khung hình hiển thị một cảnh nào đó khi Director đọc tới vị trí khung hình đó trongcửa sổ score Theo mặc định, Director sẽ đọc qua tất cả các khung hình cho đến hếtphim, đây chính là nguyên tắc của các phim tuyến tính Ta có thể tạo một phim Directorchỉ có một khung hình nhưng trong trường hợp đó ta phải dùng các lệnh Lingo để tạocác thay đổi cần thiết

Kênh palette

Kênh palette dùng bảng màu đã được kích hoạt để thay đổi bảng màu và thực hiện cáchiệu ứng màu trong phim Nháy đúp vào kênh Palette của một khung hình , ta sẽ xemđược bảng màu hiện thời của khung hình đó Khi sử dụng kênh palette, ta cần quan tâmđến các vấn đề sau:

Kªnh tempoKªnh paletteKªnh transitionKªnh ©m thanhKªnh behaviorKªnh sprite

Trang 8

Độ phân giải màu: Liên quan tới số lượng màu trên màn hình Ta kiểm tra độ phân giảimàu bằng lệnh put the colorDepth, kết quả nhận được sẽ là độ phân giải màu hiện thời.Director cho phép xây dựng các phim có độ phân giải màu 32 bit

Chuyển đổi giữa các bảng màu: Giả sử máy của ta hiển thị được 256 màu và ta dùngscanner để quét ảnh dùng trong ứng dụng, khi đó ta cần chuyển đổi các ảnh về mức 256màu Nếu các ảnh được quét bằng scanner có sèo lượng màu lớn hơn 256, ta phải dùngcác coong cụ soạn thảo đồ hoạ để chuyển chúng về 256 màu

Khi import một ảnh từ ngoài vào và bảng màu nó dùng không phải bảng màu chuẩn , ta

có theer vẫn giữ nguyên bảng màu đó và coi nó như một cast thành phần hoặc ánh xạbảng màu đó thành bảng màu của hệ thốgn Nếu giữ nguyên bảng màu, ta phải đảm bảokhi cast thành phần đó được dùng thì bảng màu tương ứng của nó phải được đặt trongkênh Palette của khung hình mà nó xuất hiện Các công việc trên được thực hiện bằngcách dùng những lùa chọn trong khung hội thoại khi ta import ảnh vào

Việc thay đổi bảng màu một cách thường xuyên là không nên, do đó ta nên dùng cácbảng màu chuẩn hoặc tạo ra các bảng màu của riêng ta để dùng chung cho tất cả các ảnhtrong ứng dông

Khi đã có một bảng màu dùng chung, ta chỉ cần đặt nó vào kenh Palette trong khunghình thứ nhất, bảng màu đó sẽ được kích hoạt trong suốt quá trình ứng dụng chạy nếu takhông kích hoạt thêm một bảng màu nào khác

Kênh Transtion

Kênh này dùng để đặt các hiệu ứng đặc biệt, chuyển đổi giữa các cảnh trong phim ta xâydựng Để đặt các hiệu ứng cho mét khung hình nào đó, ta nháy đúp vào kênh Transitionứng với khung hình đó Ta có thể đặt các hiệu ứng của kênh này cho toàn bôj stage haychỉ cho những phần thay đổi của stage mà thôi Sau khi đã đặt hiệu ứng Transition trongmét khung hình, Director tự động lưu trữ nó trong cast tương ứng như một cast thànhphần Do đó nếu ta không muốn dùng hiệu ứng chuyển đổi đó nữa ta cần phải xoá castthành phần của hiệu ứng đó

Các hiệu ứng Transiton là một trong những nhiệm vụ nặng nề mà CPU phải thực hiện

và nó chiếm khá nhiều bộ nhớ Thời gian cần thiết để thực hiện hiệu ứng Transition sẽlàm giảm toàn bộ tốc độ thực hiện của hệ thống

Hai kênh âm thanh

Macintosh cho phép dùng tới 8 kênh âm thanh trong khi đó Windows chỉ cho phép dùnghai kênh, những thư viện MảcoMix.dll mà Director cung cấp giúp ta trộn nhiều file âmthanh vào trong một kênh âm thanh

Trong Score kích đúp vào kênh âm thanh ứng với khung hình ta muốn bắt đầu đoạn âmthanh, chọn cast âm thanh thành phần muốn dùng, đoạn âm thanh của cast thành phần đó

sẽ bắt đầu chơi từ khung hình ta vừa đặt Director còng cho phép kéo thả các cast âmthanh thành phần từ cast vào một trong hai kênh âm thanh

Việc dùng score tá ra rất nhanh và tiện lợi nhưng nó có nhược điểm là nó tốn bộ nhớ vàđôi khi không đạt hiệu quả như mong muốn, trong trường hợp đó dùng các lệnh Lingo sẽhữu hiệu hơn Kênh âm thanh thứ hai sẽ được dùng cho âm thanh nền, kênh 1 dùng chocác âm thanh được điều khiển bằng lệnh puppet sound của Lingo

Kênh script

Trang 9

Dùng để chứa các thủ tục viết bằng Lingo, các thủ tục đó chỉ có tác dụng trong khunghình tương ứng Các thủ tục này (còn gọi là các script) được gọi là các thủ tục khunghình (frame script) Thủ tục còn được gọi là handler vì các thủ tục này tương ứng vớimột sự kiện và nó sẽ thực hiện khi sự kiện tương ứng xuất hiện

Để đưa vào kênh script, ta nháy đúp chuột vào script của khung hình, ta sẽ nhận đượcmột thủ tục tên là exitframe tương ứng với sự kiện kết thúc khung hình này và chuyểnsang khung hình tiếp theo

Mỗi khi bắt đầu một khung hình, các kênh được đọc và thực hiện theo thứ tự từ trênxuống, từ kênh tempo đến kênh script thứ 1000 Những kênh đặc biệt cung cấp thông tin

về các hiệu ứng đặc biệt được dùng trong khung hình, còn các script 1 đến 1000 sẽ đượchiển thị trên stage Thứ tự các kênh rất quan trọng, kênh thứ nhất được hiển thị đầu tiênsau đó đến kênh thứ hai Theo thứ tự hiển thị trên stage, ta thấy kênh 1000 được vẽ trêncùng chèn lên các kênh khác còn kênh 1 nằm dưới cùng Quá trình này tiếp diễn với tất

cả các khung hình

Control Panel

Bảng điều khiển là một cửa sổ và nó cho phép người dùng điều khiển phim trong môitrường Director Các nốt điều khiển của bảng này giống nh các nót điều khiển của mộtđầu video Ngoài ra, bảng điều khiển còn hiển thị và cho phép ta thay đổi một số thôngtin nh khung hình hiện thời, số khung hình/giây, thay đổi tốc độ phim, đặt chế độ lặpcho phim, điều khiển âm lượng

Bảng điều khiển rất có Ých trong các phim tuyến tính, đặc biệt là trong khi chạy thửnghiệm để xem khả năng của chương trình Nó cũng giúp cho công việc của người lậptrình đơn giản đi một chút khi sử dụng các khả năng của nó để điều khiển các thànhphần multimedia mà không cần phải sử dụng các lệnh điều khiển Lingo

III.CÁC KỸ THUẬT TẠO HOẠT HÌNH TRONG DIRECTOR

Hoạt hình là sự thay đổi của ảnh theo thời gian Các loại hoạt hình thường thấy nhất là dichuyển một sprite trên cửa sổ Stage ( hoạt hình kiểu tweening) và dùng một loạt cácthành phần cast trên cùng một sprite (hoạt hình kiểu frame-by-frame hay còn gọi là kiểuthay đổi theo khung hình)

Tweening là một thuật ngữ trong kỹ thuật hoạt hình, nó mô tả quá trình trong đó ngườichỉ đạo vẽ các khung hình chính còn các trợ lý vẽ các hình thay đổi giữa các hình chínhđó

Kỹ thuật hoạt hình frame-by-frame đòi hỏi tạo ra mỗi khung hình trong phim hoạt hình.Các kỹ thuật hoạt hình khác bao gồm thay đổi kích thước, quay, thay đổi màu, hay thayđổi độ sáng của một sprite

Để đặt các thuộc tính trong Tweening, ta dùng hộp thoại Sprite Tweening

Để mở hộp thoại Sprite Tweening :

Trang 10

1Chọn mét sprite Chän mét sprite

2Vào Modify > Sprite > Tweening Vµo Modify > Sprite > Tweening

Kỹ thuật Tweening trong Director

Để dùng kỹ thuật này trong Director, ta xác định các thuộc tính cho mét sprite trongnhững frame gọi là key frame và để cho Director thay đổi những thuộc tính trong nhữngframe nằm giữa

Tweening rất có hiệu quả trong việc thêm hoạt hình vào trang Web, vì nó không cầndownload thêm các dữ liệu khi một thành phần cast thanh đổi

Mét keyframe thường được dùng khi có thay đổi trong các thuộc tính của một sprite Cóthể thay đổi các thuộc tính vị trí, kích thước, góc quay, độ sáng, màu nền và màu nổi.Mỗi keyframe xác định một giá trị cho các thuộc tính trên

Trang 11

Thay đổi đường đi của một sprite

Đường đi của sprite là những đường biều diễn sự di chuyển trên cửa sổ Stage của một

sprite Đường đi của Sprite được kiểm soát trong hộp thoại Sprite Overlay Settings.

Bạn có thể thay đổi đường đi của một sprite trực tiếp trên cửa sổ Stage bằng cách thả các keyframe

kéo-Để thay đổi đường đi của một sprite:

1 Đặt mét sprite trên cửa sổ Stage nơi bạn muốn bắt đầu của đường đi, nếu đã córồi thì chỉ việc chọn nã

2 Nếu cần chọn View > Sprite Overlay > Show Paths để hiện đường đi của sprite

3 Chèn các keyframe vào frame nào mà bạn muốn thay đổi đường đi

4 Kéo đầu đỏ của đường đi trên Stage đến chỗ bạn muốn kết thúc đường đi

5 Để thay đổi đường cong trên đường đi, giữ phím Alt (Windows) hay phím Option(Macintosh) và dùng chuột kéo trên đường cong

6 Muốn thay đổi độ cong giữa các keyframe, chọn Modify > Sprite > Tweening vàđiều chỉnh Curvature

Ngoài việc thay đổi đường đi của một sprite, Director có thể thay đổi cả kích thước, gócquay, độ sáng, màu nền và màu nổi Thay đổi kích thước được áp dụng tốt nhất đối vớicác thành phần cast có dạng vector (vector-based)

Chuyển đổi các thành phần cast của một sprite

Trang 12

Để thay đổi nội dung mét sprite mà lại muốn giữ nguyên các thuộc tính khác của sprite,bạn đổi thành phần cast gắn với sprite đó.Kỹ thuật này rất có Ých khi bạn vừa áp dụngTweening cho mét sprite nhưng sau đó lại muốn dùng một thành phần cast khác Khithay đổi thành phần cast, đường đi không thay đổi

Các bước để thay đổi thành phần cast trong Score

1 Muốn thay đổi trong tất cả các khung hình của một sprite, chọn toàn bộ Nếukhông thì có thể chọn một phần

Chọn một phần bằng cách nhấn phím Alt và click frame đầu tiên muốn chọn Sau đónhấn Control-Alt(Windows) hay Option-Alt(Macintosh) và click các frame muốnchọn

2 Mở cửa sổ Cast và chọn thành phần cast bạn muốn dùng để thay thế

3 Chọn Edit > Exchange Cast Members

Hình: Trước khi thay đổi thành phần cast

Hình: Sau khi thay đổi thành phần cast, đường đi không đổi

Ngoài ra, có thể dùng lệnh Lingo để chuyển đổi thành phần cast của một sprite

Hoạt hình theo kỹ thuật thay đổi khung hình (Frame-by-frame animation)

Để tạo ra hoạt hình phức tạp hơn là dùng kỹ thuật Tweening, bạn có thể dùng một loạt

các thành phần cast trong kỹ thuật hoạt hình frame-by-frame.Các sprite thường chỉ

chứa một thành phần cast, nhưng chúng có thể thay đổi thành phần cast theo từng thờiđiểm

Các bước để tạo hoạt hình của một sprite dùng nhiều thành phần cast:

1 Tạo ra mét sprite trên cửa sổ Stage

2 Thay đổi độ dài cần của sprite theo ý muốn

Trang 13

3 Chọn View > Display > Cast Member để hiện tờn của mỗi thành phần cast trờnsprite.

4 Vào View > Sprite Labels > Changes Only Đặt thế này để hiện tờn chỉ khithành phần cast thay đổi

5 Vào Edit > Edit Sprite Frames

6 Sau đú chọn những frame muốn thay đổi thành phần cast

7 Mở cửa sổ Cast và chọn thành phần cast để thay đổi

8 Chọn Edit > Exchange Cast Members

Director thay thế những thành phần cast được chọn trờn sprite bằng thành phần casttrong cửa sổ Cast

9 Lặp lại đến khi hoàn thành Chọn Edit Entire Sprite khi làm xong

Nhanh chúng tạo hoạt hỡnh dựng nhiều thành phần cast

Cast to Time và Space to Time được dựng để tạo hoạt hỡnh một cỏch nhanh chúng dựngnhiều thành phần cast

Sử dụng Cast to Time

Để “nhột” một loạt cỏc thành phần cast vào Score như là một sprite duy nhất, dựng lệnh

Modify > Cast to Time, đõy là một lệnh cú ích nhất để tạo hoạt hỡnh dựng nhiều thành

phần cast Thường thỡ bạn tạo một loạt ảnh và sau đú dựng lệnh Cast to Time để nhanhchúng đặt chỳng vào Score nh là một sprite duy nhất

Cỏc bước tạo một sprite từ nhiều thành phần cast:

1 Chọn frame trờn Score nơi muốn đặt sprite mới Chọn frame trên Score nơimuốn đặt sprite mới

2 Mở cửa sổ Cast

3 Chọn cỏc thành phần cast để đặt trờn sprite mới tạo ra

4 Vào Modify > Cast to Time Vào Modify > Cast to Time

Sử dụng lệnh Space to Time

Muốn chuyển cỏc kờnh lõn cận vào một sprite,ta dựng lệnh Modify > Space to Time.Phương phỏp này tiện lợi khi bạn muốn xếp một vài ảnh trờn cửa sổ Stage vào mộtframe và chuyển thành một sprite

Để dựng lệnh Space to Time :

1Vào File > Preferences > Sprite và đặt Span Duration bằng 1 frame Vào File >Preferences > Sprite và đặt Span Duration bằng 1 frame

2Chọn một frame cũn trống trờn Score Chọn một frame còn trống trên Score

3Kộo thành phần cast vào Stage để tạo ra cỏc sprite Kéo thành phần cast vào Stage

để tạo ra các sprite

Khi định vị sprite trờn cửa sổ Stage, Director đặt mỗi sprite trờn một kờnh riờng biệt.Hóy đặt cỏc sprite trờn cỏc kờnh liờn tiếp

Trang 14

4 Chọn tất cả các sprite cần thiết trong chuỗi hình ảnh.

5 Vào Modify > Space to Time

Hộp thoại Space to Time xuất hiện Đặt số frame giữa các thành phần cast tuỳ ý

Sử dông film loop

Mét film loop là một dãy hoạt hình mà ta có thể dùng như là một thành phần cast đơn.Ví

dụ, để tạo một hoạt hình diễn tả cảnh một con chim đang bay, ta có thể tạo ra mét filmloop gồm ảnh các thành phần cast các cảnh chim vỗ cánh.Thay vì dùng kỹ thuật frame-by-frame, ta tạo một sprite chỉ chứa film loop và cho chạy qua bao nhiêu khung hình tuỳ

ý

Có thể dùng film loop để làm gọn dữ liệu trên Score Film loop đặc biệt hữu Ých khi cầnlàm giảm số kênh sprite Có thể kết hợp vài kênh trên Score thành một film loop và đặttrên một kênh Có thể đặt các thuộc tính cho film loop

Các bước để tạo một film loop:

1Trên Score, chọn các sprite bạn muốn chuyển thành film loop Trªn Score, chänc¸c sprite b¹n muèn chuyÓn thµnh film loop

Sử dông bao nhiêu sprite tuỳ thích – kể cả kênh âm thanh

2Vào Insert > Film Vµo Insert > Film Loop

Một hộp thoại xuất hiện

3Đặt tên cho film loop mới tạo ra §Æt tªn cho film loop míi t¹o ra

Tạo hoạt hình dùng lệnh Lingo

Lingo có thể tạo hoạt hình bất kể những đặc tính được đặt trên Score Điều này cho phépbạn tạo ra hay sửa đổi một hoạt hình dùa trên tình trạng của phim

Muốn di chuyển một sprite trên cửa sổ Stage, bạn có thể dùng các lệnh Lingo điều khiển

vị trí của sprite đó Để tạo hoạt hình bằng cách thay đổi thành phần cast của sprite, cóthể dùng lệnh chuyển thuộc tính của sprite

Trang 16

Chương 2: Lingo script trong Director

Muốn xây dựng các ứng dụng có tính tương tác với người dùng, Director cung cấp mộtngôn ngữ tiện lợi để viết lệnh điều khiển phim khi xảy ra một điều kiện hay một sự kiệnnào đó, đó là ngôn ngữ Lingo Script

Lingo tạo ra các tính năng mà nếu chỉ dùng các công cụ kéo-thả trong Director thì khôngthể thực hiện được Ví dụ, Lingo có thể chơi một âm thanh sau khi một phần dữ liệu âmthanh được tải về từ mạng Ngôn ngữ này có một điểm mạnh là nó dễ học, cú pháp gầnvới ngôn ngữ tự nhiên Đối với ngôn ngữ này, việc quan trọng nhất là ta cần hiểu cáchthức nó tương tác với các thành phần cast và Score, vị trí đặt đoạn mã để thu được kếtquả mong muốn

I SƠ QUA VỀ LINGO

Các thuật ngữ

Còng nh các ngôn ngữ lập trình khác, Lingo sử dụng các thuật ngữ và các cú pháp đặctrưng mà người lập trình cần phải nắm được Các thuật ngữ của Lingo có thể tóm tắt nhsau:

Tham sè (Argument) là tên tượng trưng dùng thế chỗ cho các giá trị thực sự sẽ được

truyền cho hàm khi hàm được gọi

Lệnh (Command) là một chỉ thị yêu cầu Director thực hiện một thao tác gì đó Ví dô nh

chuyển đầu đọc tới một khung hình khác

Hằng (Constant) là các yếu tố không thay đổi Ví dô ta có các hằng TAB, EMPTY, và

RETURN

Sự kiện (Event) là các hành động xảy ra khi phim đang chạy Ví dụ, phim kết thúc, bắt

đầu một sprite, đầu đọc đi vào một khung hình, người dùng gõ phím, đều là những sựkiện

Biểu thức (Expression) là bất cứ phần nào của dòng lệnh mà tạo ra một giá trị Ví dụ, 2 +

2 là một biểu thức

Hàm (Function) trả về một giá trị

Hàm xử lý (Handler) là tập hợp các lệnh Lingo, chạy khi một sự kiện nào xác định xảy

ra Ví dụ, các dòng lệnh sau chứa một hàm xử lý, hàm này được gọi khi chuột đượcnhấn:

on mouseDown

beep

end

Từ khoá (Keyword) là các từ dành riêng có ý nghĩa đặc biệt

Danh sách (List) là tập hợp các giá trị dùng để theo dõi và cập nhật dãy dữ liệu

Thông báo (Message) là những lời gọi do Director gửi đến script khi một sự kiện xác

định xảy ra

Toán tử (Operator) dùng để tính toán tạo ra giá trị mới từ một hay nhiều giá trị cũ.

Trang 17

Thuộc tính (Propertie) là các tính chất để xác định một đối tượng.

Biến (Variable) là các thành phần dùng để lưu trữ và cập nhật giá trị

Các sự kiện, thông báo và hàm xử lý(handler)

Mọi điều trong Lingo xảy ra nh kết quả của một sự kiện Một số sự kiện là hoạt độngcủa người dùng, mouseUp, keyUp; mét số khác là của hệ thống, nh timeout Bảng dướiđây liệt kê các sự kiện chuẩn mà Lingo có thể nhận biết

Các sự kiện chuẩn của Lingo

MouseEnter Con trá di chuyển đến một sprite

MouseLeave Con trá di chuyển ra khái sprite

MouseWithin Con trỏ nằm trong mét sprite

CuePassed Mỗi khi một điểm nhắc được truyền bởi

một âm thanh, video sè QuickTime hoặcXtra mà hỗ trợ các điểm nhắc

BeginSprite Đầu đọc nhập vào một sprite

EndSprite Đầu đọc thoát khỏi một sprite

PrepareFrame Trước khi khung hiện tại được chiếu, các

khung đơn nhận message này

RightMouseDown Nhấn nót chuột phải

ActivateWindow Người dùng kích vào một phim trong cửa

sổ mà hiện tại không được “nổi” (focus),đưa phim đó “nổi”lên

MoveWindow Người dùng kéo một phim trong cửa sổResizeWindow định lại kích thước một phim trong cửa sổDeactivateWindow Người dùng kích vào một phim trong cửa

sổ hiện tại, làm “chìm” chương trình hiện

Trang 18

Lệnh close window

EnterFrame đầu đọc nhập vào một khung hình

ExitFrame đầu đọc thoát khỏi một khung hình

TimeOut Thuộc tính hệ thống timeLapsed >=thuộc

tính hệ thống timeoutLength

Khi Director nhận thấy một sự kiện đã xảy ra, nó sẽ một thông báo sự kiện (eventmessage), sau đó tìm trong các script trong phim xem có đoạn mã nào xử lý sự kiện đókhông ( tìm hàm handler) Thủ tục Lingo gồm một hoặc nhiều hàm xử lý sự kiện Các lệnh Lingo dùng để chỉ cho Director biết những việc cần làm khi thìm thấy mộtthông báo sự kiện Ta có thể tạo các sự kiện và các hàm xử lý sự kiện của riêng mình.Các hàm xử lý sự kiện của người dùng có dạng nh sau:

On handlerName

Lingo statements

End

Không giống nh các hàm xử lý sự kiện được định nghĩa trước ( được dùng để trả lời một

sự kiện đã tìm thấy), các hàm xử lý sự kiện người dùng phải được gọi rõ ràng trong thủtục

Các loại Lingo script

Director dùng bốn loại script: behavior script, movie script, script cha, và script gắn với thành phần cast Behavior script, movie scripts, và script cha tất cả đều là những thành

phần trong cửa sổ Cast

Behavior là loại script được gán với sprite hay frame trong Score, được gọi là sprite

behavior hay frame behavior Loại script này chứa các điều khiển xác định xem nó xử lý

một thông báo khi nào và ở đâu

Tất cả các behavior được thêm vào cast xuất hiện trong menu Popup Behavior

Inspector (các loại script không có ở đây).

Ta có thể gắn cùng một behavior vào nhiều vị trí trong Score Khi soạn thảo métbehavior, nó ảnh hưởng đến toàn bộ các vị trí được gán Movie script đáp ứng các sựkiện nh nhấn phím hay click chuột, và có thể kiểm soát các sự kiện khi phim bắt đầu, kết

thúc, hay tạm dừng Các hàm xử lý trong mét movie script có thể được gọi từ các script

khác khi phim chạy

Movie script có thể được dùng trong toàn bộ phim, bất kể là phim đang ở khung hình

nào, hay người dùng đang tương tác với sprite nào Movie script sẽ nhận tất cả các thôngbáo mà chưa được xử lý bởi behavior scipt, hay script của thành phần cast Movie script

là nơi tốt nhất để đặt các hàm xử lý mặc định

Trang 19

Script chas là script đặc biệt chứa các lệnh Lingo dùng để tạo các đối tượng con(child

object) Ta có thể dùng script cha để sinh ra các đối tượng script hoạt động độc lập với

nhau Script cha được dùng để lập trình theo phong cách hướng đối tượng oriented)

(object-Script của thành phần cast được gắn trực tiếp với một thành phần cast, không phụ

thuộc vào Score

Không giống với behavior, movie script, và script cha, script của thành phần trong cast

không xuất hiện trong cửa sổ Cast

Các hàm xử lý sự kiện của hệ thống (system handler)

Ngoài các loại script trên, còn có các hàm xử lý của hệ thống Chúng khác các loạiscript còn lại các đặc điểm sau:

• Các hàm xử lý còn lại không nhận các thông báo trừ khi các thông báo truyềnqua tất cả các mức phân cấp cao hơn Còn các hàm xử lý sự kiện hệ thống sẽnhận các thông báo trước tất cả các hàm xử lý khác

• Các hàm xử lý sự kiện khác giữ lại mọi sự kiện mà chúng nhận được, khôngtruyền tiếp đi Còn các hàm xử lý hệ thống thực hiện thông báo nhận được , sau

đó tiếp tục gửi nó đến các mức phân cấp khác

Sau đây là một vài hàm xử lý hệ thống:

Ta có thể đặt lại một hàm xử lý hệ thống từ bất kỳ một script nào bằng cú pháp sau:

Set the eventScript to “code lines

Ví dô:

the keyDownScript = "if the key = RETURN then go to the frame + 1"

Hay đặt đến một hàm của người dùng

Set the mouseScript to “userhandler”

Có thể vô hiệu hoá hàm xử lý hệ thống bằng câu lệnh

Set the eventScript to EMPTY

Các hàm xử lý sự kiện hệ thống có lợi khi ta cần xử lý sự kiện chung Nếu không ta phảiviết lệnh để xử lý các sự kiện ở tất cả các script khác

Thứ tự phân cấp các thông báo

Director truyền các thông báo đến các script khác nhau theo môt trật tự xác định Cácthông báo được truyền theo thứ tự sau:

Trang 20

Các hàm xử lý sự kiện của hệ thống ( system handlers)

Các hàm xử lý sự kiện của sprite ( sprite handlers)

Các hàm xử lý sự kiện của thành phần cast (cast member’s scripts)

Các hàm xử lý sự kiện của khung hình (frame handlers)

Các hàm xử lý sự kiện của phim (Movie handlers)

Muốn Director truyền thông báo đến hàm xử lý cần thiết, ta phải đặt nó trong loại script

có thể nhận được thông báo đó Sau đây là bảng gồm các loại thông báo và các script cóthể nhận được các thông báo đó:

MouseLeaveMouseWithinMouseUpMouseDownRightMouseUpRightMouseDownKeyUp

KeyDownBeginSpriteEndSpritePrepareFrameCast member’s script MouseEnter

MouseLeaveMouseWithinMouseUpMouseDownRightMouseUpRightMouseDownKeyUp

KeyDown

ExitFrameMouseUpMouseDown

Trang 21

KeyDownTimeOut

ExitFrameMouseUpMouseDownRightMouseUpRightMouseDownKeyUp

KeyDownIdleStartMovieStopMovieActivateWindowMoveWindowResizeWindowDeactivateWindowCloseWindowTimeOut

Truyền các thông báo sự kiện

Thông thường các điều khiển thông báo sprite, cast, frame nhận được thông báo và nókhông tiếp tục truyền thông báo đến các mức tiếp theo nữa Nhưng đôi khi ta muốn cácscript tiếp theo cũng nhận được thông báo, muốn thế ta dùng lệnh pass Khi ta thêm lệnhpass vào trong một hàm xử lý sự kiện, thì sau khi sau khi thực hiện các hành động cầnthiết, nó sẽ truyền thông báo sự kiện tới các đối tượng khác trong mức khác

Các hàm xử lý hệ thống luôn truyền đi các thông báo mà nó nhận được Nếu ta dùng

lệnh stopEvent trong hàm xử lý hệ thống, nó sẽ không truyền đi nữa Ngoài ra ta cũng có

thể tự sinh ra một thông báo và truyền nó đi Ví du ta thêm dòng lệnh

MouseDown(script “button”)

Nếu button là tên của một sprite hay cast member script của một nót trên stage, nót sẽ

hoạt động nh thể là ngườidùng vừa nhấn chuột

Trang 22

II CÁC KIỂU BIẾN TRONG DIRECTOR

Director dùng các biến để lưu trữ và cập nhật các giá trị của dữ liệu Một biến có thểthay đổi giá trị của nó khi chạy phim Bằng cách thay đổi giá trị của một biến khi phimđang chạy ta có thể lưu trữ những giá trị cần quan tâm ví dụ như cất một đường dẫnURL, theo dõi số lần một người tham gia vào một phiên chat, hay kiểm tra xem một hoạtđộng mạng đã kết thúc chưa

Các biến có thể là toàn cục hay biến cục bộ Một biến toàn cục có thể tồn tại và duy trìgiá trị của nó khi nào mà phim còn chạy, trong khi đó một biến cục bộ chỉ tồn tại trongmột hàm xử lý hay

Biến cục bộ

Một biến cục bộ chỉ tồn tại trong hãm xử lý có chứa nó đang chạy Các biến cục bộ đượcdùng cho các biến tạm thời trong một hàm xử lý Điều này giúp tránh việc vô ý thay đổigiá trị trong hàm xử lý khác có biến cục bộ cùng tên

Ta khai báo một biến cục bộ trong một hàm bằng lệnh put hoặc lệnh set:

Nếu một hàm xử lý khai báo một biến là toàn cục thì có thể dùng giá trị hiện tại của biến

đó Nếu hàm này thay đổi giá trị của biến thì giá trị mới sẽ có tác dụng đối với các hàmcòn lại có sử dụng nó Khai báo biến toàn cục nh sau:

Global gbvarName

Ta có thể khai báo biến toàn cục bên trong hay bên ngoài một hàm Khi khai báo biếntoàn cục, ta không phải khởi tạo cho nã, Director sẽ gán cho nó một giá trị là <void>.Bởi vì ta muốn dùng biến cục bộ trong suốt một bộ phim, tốt nhất là nên khai báo chúng

trong hàm xử lý prepareMovie , đảm bảo rằng chúng sẽ tồn tại ngay khi phim bắt đầu Các dòng lệnh sau đây khai báo biến toàn cục gName và gán nó giá trị là Mary:

global gName

gName = "Mary"

Nếu một biến toàn cục được khai báo bên trong một hàm xử lý và ta muốn sử dụng nó ởmột hàm khác, ta phải khai báo lại biến toàn cục đó, nếu không Director sẽ xem nó làmột biến cục bộ trùng tên với biến toàn cục Còn nếu biến toàn cục được khai báo ởtrong mét MovieScript, bên ngoài tất cả các hàm, thì các hàm không phải khai báo lạibiến toàn cục

Kiểu danh sách

Danh sách là một kiểu dữ liệu giúp ta dễ dàng theo dõi và cập nhật một dãy dữ liệu Ví

dụ, nếu muốn lưu trữ nhiều tên hay sè trong một dự án Director, ta có thể lưu trong métdanh sách Toán tử ([ ]) dùng để biểu diễn một danh sách

Trang 23

Có hai loại danh sách trong Lingo: danh sách tuyến tính và danh sách thuộc tính.

Trong mét danh sách tuyến tính, mỗi một thành phần là một giá trị đơn Ví dụ, danh sáchdưới đây là một tập đơn giản các số:

[100, 150, 300, 350]

Trong mét danh sách thuộc tính, mỗi một thành phần chứa hai giá trị cách nhau bởi mộtdấu “:” Một thành phần là tên thuộc tính, luôn luôn có dấu thăng (#) đi trước; thànhphần kia là giá trị gắn với thuộc tính đó Ví dụ, những lệnh sau đây sẽ đặt biến myListthành một danh sách thuộc tính chứa các giá trị của các thuộc tính là #speed,

#direction,và #weight Đây có thể là tính chất của một thiên thể

myList = [#speed: 155, #direction: 237, #weight: 8746]

Các thuộc tính có thể xuất hiện nhiều lần trong mét danh sách

Cả hai loại danh sách có thể là danh sách rông, không chứa giá trị nào cả Một danh sáchtuyến tính chứa hai dấu móc vuông ([ ]) Mét danh sách thuộc tính rỗng chứa hai dấumóc vuông và một dấu hai chấm ở giữa ([:])

THAO TÁC TRÊN DANH SÁCH:

Lưu trữ và truy nhập danh sách

• Danh sách tuyến tính (linear list)

Để đặt một giá trị vào một danh sách tuyến tính:

Dùng toán tử “=” (Có thể dùng lệnh setAt nh trong các phiên bản Director trước)

Ví dụ, dòng lệnh workerList[2] = "Tiffany" đặt giá trị phần tử thứ hai của danh sách là Tiffany.

Để truy nhập một giá trị trong mét danh sách tuyến tính:

Dùng biến danh sách và chỉ số trỏ vào phần tử trong danh sách (Còn có thể dùng lệnh

getAt hay getaProp)

Ví dô, trong mét danh sách tuyến tính tên là workerList, ta đặt các giá trị:

set workerList = ["Bruno ", "Heather ", "Carlos "],

thì biểu thức workerList[2] sẽ lấy giá trị của phần tử thứ hai trong workerList, giá trị là Heather

• Danh sách thuộc tính (property list)

Đối với danh sách thuộc tính thì có hai kiểu cú pháp có thể dùng để thao tác Kiểu thứnhất là dùng dấu [] và tên của thuộc tính Kiểu thứ hai là dùng dấu chấm (.) Giả sử ta cómột danh sách

list foodList = [#breakfast:"Waffles", #lunch:"Tofu Burger", #dinner:"Hungarian Goulash"]

Có thể dùng một vài lệnh nh dưới đây để thao tác

foodList[#Bruno] = "sushi" (vào thuộc tính Bruno có giá trị “sushi”)

hay

foodList.Bruno = "sushi"

Trang 24

Kiểm tra các đặc điểm của một danh sách:

Ta có thể xác định các đặc điểm của một danh sách và số phần tử của nó bằng cách sửdụng các lệnh sau:

Đếm số phần tử dùng hàm count()

Xác định kiểu của danh sách, dùng hàm ilk().

Lấy giá trị lớn nhất hay nhỏ nhất, dùng hàm max() hay min()

Xác định vị trí của một thuộc tính dùng các hàm findPos, findPosNear, or getOne.

Copy các danh sách

Gán mét danh sách vào một biến và sau đó lại gán biến đó cho một biến khác không tạo

ra một bản copy riêng biệt và khác với danh sách ban đầu Hai biến đó thực chất chỉ trỏvào cùng một danh sách mà thôi

Để tạo ra một bản copy đúng nghĩa, độc lập với danh sách gốc, ta dùng hàm duplicate().

Các dòng lệnh sau tạo ra mét danh sách và sau đó lại tạo ra một bản copy của nó:

Lingo sắp xếp một danh sách tuyến tính theo các giá trị trong đó, còn với danh sách

thuộc tính thì theo thuộc tính Dùng lệnh sort để sắp xếp.

Tạo mảng nhiều chiều

Mỗi phần tử của một danh sách lại chứa các danh sách con khác Theo kiểu này ta cóthể tạo ra mảng nhiều chiều bằng danh sách

Giả sử ta cần tạo mét mảng hai chiều tên là twoDimensionList, mỗi phần tử của danhsách này lại là một danh sách Đoạn chương trình sau sẽ tạo một mảng hai chiều với giá

SetAt ( twoDimensionList, Row, aRow)

End repeat

Trang 25

Kiểu số nguyên (integer)

Director xử lý số nguyên trong khoảng 2,147,483,648 đến +2,147,483,647 ( Ngoàikhoảng này nên dùng số thập phân, hay còn gọi là dấu phẩy động)

Ta có thể chuyển đổi một số thập phân thành số nguyên nhờ hàm integer() Ví dô, lệnh set theNumber = integer(3.9) làm tròn số thập phân 3.9 thành 4.

Kiểu số thập phân

Một số thập phân, hay còn gọi là số dấu phẩy động, là một số có chứa dấu chấm thậpphân Ta có thể dùng kiểu ký hiệu số mũ với số thập phân: ví dô,

-1.1234e-100 or 123.4e+9

Để chuyển một giá trị nguyên thành thập phân ta dùng hàm float().

Kiểu biểu tượng

Kiểu biểu tượng là một kiểu dữ liệu đặc biệt, khác với ngôn ngữ khác Mét kiểu biểutượng luôn bắt đầu bằng dấu thăng (#)

Kiểu biểu tượng là hằng do ngườidùng định nghĩa Các phép so sánh có thể được thựchiện rất nhanh khi dùng kiểu này

Ví dụ, dòng lệnh

userLevel = #novice

chạy nhanh hơn dòng lệnh

userLevel = "novice"

Biểu tượng không thể chứa dấu cách hay dấu chấm

Chuyển một xâu thành biểu tượng ta dùng hàm symbol() Còn chuyển ngược từ

kiểu biểu tượng thành xâu ta lại dùng hàm string().

III DÙNG CÁC XTRAS ĐỂ MỞ RỘNG CHỨC NĂNG CỦA DIRECTOR

Xtras là những thành phần phần mềm mở rộng các chức năng của Director; một vàiXtras được cài đặt cùng với Director còn lại được các nhà sản xuất trung gian phát triển.Xtras cung cấp các khả năng như nối với Internet, thao tác trên file, thao tác với cơ sở

dữ liệu v.v Dùng ngôn ngữ lập trình C ta có thể tạo ra được Xtras của riêng mình

Các kiểu Xtras

Trang 26

Director hỗ trợ năm loại Xtras: cast member Xtras, importing Xtras, scripting Xtras,transition Xtras, và tool Xtras.

Cast member Xtras cung cấp kiểu thành phần cast mới dùng trong Director Chúng điều

khiển nhiều kiểu đối tượng được dùng nh là thành phần cast

Một vài thành phần cast được xây dựng ngay trong Director, nh là Shockwave Flash,Vector Shape, và Animated GIF, chúng là các Xtras Xtras cung cấp bởi các nhà trung

gian bao gồm cơ sở dữ liệu, xử lý ảnh 3D, các kiểu đồ hoạ đặc biệt… Cast member Xtras có sẵn trong Director xuất hiện trong menu Insert > Media Element Mét vài cast member Xtras không xuất hiện trong menu này nhưng có thể sử dụng chúng bằng lệnh

Lingo

Importing Xtras cung cấp mã lệnh cần thiết để nhập vào (import) các loại phương tiện (media) vào Director Khi trỏ một phim tới một file ngoài,Director dùng importing Xtra

để nhập file mỗi lúc phim chạy

Scripting Xtras thêm các thành phần vào các Lingo script đã được viết trước đó Ví dụ, NetLingo Xtra cung cấp các thành phần đặc biệt để điều khiển các hàm dùng cho

Internet

Transition Xtras cho phép tạo các hiệu ứng chuyển đổi đặc biệt giữa các frame.

Tool Xtras cung cấp các chức năng trong môi trường tạo sản phẩm, nhưng chúng không

làm gì cả khi phim chạy Không cần phải kèm chúng theo khi phân phối sản phẩm

Lưu trữ trong các file ngoài dùng FileIOXtra

Đối với các dữ liệu vừa và nhỏ, việc sử dụng các trường trong phim Director để lưu trữ

là cách làm khá tối ưu Tuy nhiên, đối với các ứng dụng tương đối lớn, mặc dù có thể cắt

dữ liệu thành nhiều trường nhưng việc lưu trữ một lượng lớn dữ liệu là một điều khôngthực tế Dữ liệu lưu trữ trong các phim sẽ làm tăng kích thước file phim và dung lượng

bộ nhớ cần thiết khi nạp chương trình Ngoài ra , việc lưu trữ dữ liệu bên trong phimcũng làm cho chúg không thể truy nhập được từ bên ngoài Trong trường hợp này, tốtnhất là ta nên lưu trữ dữ liệu vào các file ngoài và khi cần ta có thể khôi phục một bảnghi dữ liệu từ file để xử lý

Director cung cấp cho ta hai phương tiện để đọc và ghi các file dạng text, đó là thư việnFileIO Xobject và thư viện FileIO Xtra

FileIO Xtra nằm trong thư mục Xtras Các fileIO Xtra làm việc khác với Xobject.Xobject chỉ cho phép đọc hoặc ghi vào một file Để thêm vào một file, ta dùng chế độ

append Chế độ append sẽ đặt file được thêm vào cuối file đã mở Còn Xtra cung cấp đồng thời cả chế độ đọc và ghi Chế độ append bị bỏ đi Ta sẽ dùng phương thức setPosition để ghi vào một vị trí xác định trong file Ta có thể dùng getLength để chuyển

đến cuối file hiện tại

Ta mở một file bằng cách tạo ra một thể hiện mới của FileIO Xtra bằng lệnh new và gán

nã cho một biến Ta có thể mở nhiều file Đoạn mã sau sẽ mở một file đang tồn tại

on readFile

filePath = the moviePath & "demoSaveFile"

tạo ra mét instance của fileIO Xtra

fileIOInstance = xtra("FileIO").new()

Trang 27

error trap for missing file Xtra

if not fileIOInstance.objectP then

alert "File IO Xtra missing"

cho nội dung file vào field

member("file contents").text = fileText

Chương 3: Lập trình hướng đối tượng bằng Lingo

Director cho phép ta lập trình theo kiểu hướng đối tượng như trong các ngôn ngữ khác,

tạo thuận lợi để phát triển một ứng dụng Ta có thể dùng script cha để tạo các đối tượng

script mà có thể hoạt động nh là các đối tượng độc lập

Lingo có thể tạo nhiều bản copy hay instance (thực thể) của một script cha Mỗi instance của một script cha được gọi là mét đối tượng con (đối tượng con) Ta có thể tạo các đối

tượng con theo nhu cầu khi phim chạy Director không giới hạn số đối tượng con có thể

tạo ra từ cùng mét script cha Ta có thể tạo nhiều đối tượng con tuỳ theo dung lượng bộ

nhí

Chương này trình bày cơ bản về cách viết script cha , tạo và sử dụng các đối tượng con

I SO SÁNH VỚI CÁC NGÔN NGỮ HƯỚNG ĐỐI TƯỢNG KHÁC

Nếu đã quen với một ngôn ngữ lập trình hướng đối tượng khác như là Java hay C++, ta

có thể dễ dàng hiểu được các khái niệm về script cha Những thuật ngữ mà Director

Trang 28

dùng để mô tả script cha và đối tượng con tương ứng các thuật ngữ trong lập trình

hướng đối tượng:

Script cha tương ứng với class (líp)

đối tượng con tương ứng với instance (thực thể)

Property variable tương ứng với instance variable hay member variable (biến thành

phần)

Handler tương ứng với method (phương thức)

Ancestor script tương ứng với the Super class hay base class (líp gốc)

II CƠ BẢN VỀ SCRIPT CHA VÀ ĐỐI TƯỢNG CON (CHILD OBJECT)

Mét script cha là một tập các hàm xử lý và thuộc tính được dùng để xác định mét đối tượng con; chính nó không phải là mét đối tượng con Mét đối tượng con là một thể hiện đầy đủ và độc lập của script cha Các đối tượng con của cùng mét script cha có các hàm

xử lý và các thuộc tính tương tự nhau, vì vậy các đối tượng con trong cùng một nhóm trảlời các sự kiện và thông báo tương tự nhau

Thông thường, script cha được dùng để xây dựng các đối tượng con Những đối tượng con này khi phim đòi hỏi cùng một cơ chế xử lý được chạy đồng thời nhưng khác nhau

về tham sè

Bởi vì tất cả đối tượng con của cùng mét script cha có các hàm xử lý giống nhau, những đối tượng con đáp ứng các sự kiện theo cách tương tự nhau Tuy nhiên, bởi vì mỗi đối tượng con chứa các giá trị độc lập cho các thuộc tính khai báo trong script cha, nên mỗi đối tượng con có thể hoạt động khác nhau.

Lấy ví dụ,, ta có thể tạo mét script cha trong đó mô tả các text field có thể soạn thảo

được với các thuộc tính nh màu, chữ… Bằng cách thay đổi các giá trị của các thuộc tính

trong các đối tượng con cụ thể, ta có thể thay đổi các đặc điểm của chúng trong khi phim

đang chạy mà không ảnh hưởng đến nhau

Sự khác nhau giữa đối tượng con (child object) và behavior (hành vi)

Mặc dù đối tượng con và behavior tương tự nhau vì chúng có thể có nhiều thể hiện, chúng cũng có nhiều điểm khác biệt Sự khác biệt lớn nhất giữa đối tượng con và behavior là behavior được gán với sprite Các đối tượng behavior được tự động tạo ra khi sprite được tạo ra Ngược lại, đối tượng con phải được tạo ra một cách tường minh

bởi một hàm xử lý

Behavior và đối tượng con khác nhau ở cách chúng được gán với sprite Director tự động gán mét behavior với một sprite, nhưng ta phải gán mét đối tượng con bằng lệnh

Lingo

Viết mét script cha

Mét script cha chứa các lệnh Lingo cần thiết để tạo các đối tượng con và xác định các hành động và thuộc tính cho chúng Trước hết ta cần xác định xem các đối tượng con sẽ hành động nh thế nào Sau đó ta có thể viết mét script cha để thể hiện Trong script cha,

Trang 29

khai báo các biến và các thuộc tính, sau đó khởi tạo chúng trong hàm on new Viết thêm các hàm xử lý để điều khiển các hành động của các đối tượng con.

Dùng biến me

Thông thương, mét script cha tạo ra nhiều đối tượng con, và mỗi đối tượng con có hơn

một hàm xử lý Thuật ngữ me là một biến tham số đặc biệt Nó luôn phải là tham số đầu

tiên được khai báo trong mỗi hàm xử lý trong mét script cha.

Biến me báo cho các hàm xử lý trong đối tượng con rằng chúng chỉ thao tác trên những

thuộc tính của nó chứ không phải là của đối tượng khác Theo cách này, khi một hàm xử

lý trong mét đối tượng con tham chiếu đến các thuộc tính, thì sẽ dùng các giá trị của

thuộc tính bên trong chính nã

Tạo một đối tượng con

Đối tượng con tồn tại hoàn toàn trong RAM; chúng không được lưu lại cùng với phim

Chỉ có script cha và ancestor script tồn tại trên đĩa.

Để tạo một đối tượng con mới, ta dùng hàm new và gắn đối tượng con với một tên biến

hay vị trí trong mét list để có thể truy nhập đến sau này

Để tạo ra một đối tượng con và gán với một biến, dùng cú pháp:

set variableName = new(script "scriptName", argument1,

, argument2, argument3 )

trong đó scriptName là tên của script cha và argument1, argument2, argument3 là các tham sè ta truyền cho đối tượng con bằng hàm on new

hàm new() tạo một đối tượng con mà líp cơ sở của nó là scriptName Sau đó nó gọi hàm

on new trong đối tượng con với các tham số xác định.

Ta có thể gọi một hàm tạo mới ở bất kỳ đâu trong mét phim Có thể đặt các giá trị ban

đầu của đối tượng con bằng cách thay đổi các tham số đầu vào trong hàm new().

Mỗi đối tượng con chỉ yêu cầu đủ bộ nhớ để lưu các giá trị hiện tại của các thuộc tính

của nó và tham chiếu đến script cha Bởi vì thế, trong hầu hết các trường hợp, ta có thể

tạo ra và duy trì bao nhiêu đối tượng con tuỳ thích

Muốn tạo đối tượng con mà không phải khởi tạo các giá trị thuộc tính, dùng hàm

rawNew() Hàm rawNew() thực hiện mà không gọi hàm on new Trong trường hợp khi

mà cần nhiều đối tượng con, rawNew() cho phép ta tạo các đối tượng trước và chỉ gán

các giá trị khi cần dùng đến

Câu lệnh dưới đây tạo ra một đối tượng con từ script cha Car mà không khởi tạo các giá

trị thuộc tính và gán vào biến car1:

Trang 30

Ta có thể kiểm tra giá trị của thuộc tính trong đối tượng con bằng cách sử dụng cú pháp:

objectName.PropertyName Ví dụ, dòng lệnh sau gán vào một biến x giá trị của thuộc

tính carSpeed của đối tượng con được gán vào biến car1:

x = car1.carSpeed

Gọi các thuộc tính của đối tượng từ bên ngoài có thể có Ých khi cần thông tin về mộtnhóm các đối tượng, như là tốc độ trung bình của tất cả các xe trong một cuộc đua Tacũng có thể dùng các thuộc tính của một đối tượng để xác định hành vi của đối tượngkhác phụ thuộc vào nã

Ngoài ra có thể kiểm tra xem một đối tượng con chứa một hàm cụ thể nào đó hay kiểm

tra xem nó xuất phát từ script cha nào Điều này có Ých ta có nhiều đối tượng xuất phát

từ nhiều script cha tương tự nhau nhưng có vài điểm khác biệt nhá

Ví dô, ta muốn tạo một kịch bản trong đó một một trong vài script cha có thể được dùng

để tạo một đối tượng con Ta có thể xác định xem một đối tượng con được tạo ra từ

script cha nào bằng hàm script(), hàm này trả lại tên script cha

Câu lệnh sau kiểm tra xem có phải đối tượng car1 được tạo ra từ script cha Car:

if car1.script = script("Car") then

beep

end if

Ta cũng có thể lấy một danh sách các hàm xử lý trong một đối tượng con bằng cách

dùng hàm handlers(), hay kiểm tra xem một hàm xử lý tồn tại trong một đối tượng đối tượng con bằng hàm handler().

Các lệnh sau gán một danh sách các hàm xử lý đối tượng con car1 vào biếnmyHandlerList:

myHandlerList = car1.handlers()

Danh sách có dạng như sau:

[#start, #accelerate, #stop]

Còn các lệnh sau lại dùng hàm handler() để kiểm tra xem có hàm xử lý on accelerate

trong đối tượng con car1:

if car1.handler(#accelerate) then

put "The child object car1 contains the handler named “

on accelerate."

end if

Trang 31

Phần II: Công nghệ shockwave trên internet

Chương 4 : Dịch vụ thông tin World Wide Web

Trong thời gian gần đây, một trong những dịch vụ hấp dẫn và được quan tâm nhiềunhất trên Internet chính là World Wide Web Đây là dịch vụ thông tin mới ra đời nhưnglại phát triển nhanh nhất, tạo nên một tiềm năng to lớn trong việc phổ biến thông tin toàncầu, góp phần thúc đẩy xã hội loài người bước vào kỷ nguyên mới của khoa học kỹthuật, kỷ nguyên của Công nghệ thông tin Trong chương này, tôi xin được trình bàynhững đặc điểm khiến cho World Wide Web đã trở nên quan trọng đến như vậy

I NGUỒN GỐC RA ĐỜI CỦA WORLD WIDE WEB

World Wide Web ra đời từ một dự án nghiên cứu phát triển tại phòng thí nghiệm vật lýhạt nhân châu Âu vào năm 1989 Nhóm nghiên cứu do Tim Berners-Lee và RobertCalliau đứng đầu, đã phát triển và đưa ra mét giao thức truyền và nhận các tệp siêu vănbản (Hypertext) theo mô hình Client/Server, gọi tắt là HTTP (HyperText TransferProtocol) để phục vụ cho việc trao đổi thông tin trên Internet Sau đó nhóm phát triển đãcông bô rộng rãi thư viện chương trình nguồn của giao thức này cho các nhà phát triển

và các tổ chức nghiên cứu Internet để họ phát triển các phần mềm Web Client nhằm hiểuđược và hiển thị các tệp Hypertext Kể từ đó, thuật ngữ World Wide Web hay gọi gọnhơn là Web đã ra đời và được công nhận rộng rãi trên Internet như là một từ chỉ tới mộtdịch vụ phát triển mạnh mẽ nhất và hấp dẫn nhất Các tổ chức và các công ty sử dụngInternet đã thành lập nên một uỷ ban (W3 Consortium) để đưa các tiêu chuẩn cho WorldWide Web và chuẩn hoá các cấp độ (Levels) cho ngôn ngữ HTML

Trang 32

Như vậy, World Wide Web được định nghĩa như là một dịch vụ thụng tin toàn cầunhằm cung cấp cỏc tư liệu thụng tin đa phương tiện thụng qua một giao thức mức caođược gọi là HTTP Cỏc tài liệu trờn World Wide Web được viết bởi ngụn ngữ HTML.Sau khi cỏc tài liệu được chuyển tới Client, cỏc phần mềm Web Browser sẽ diễn dịch lạitài liệu này và trỡnh bày cỏc thụng tin dưới nhiều dạng khỏc nhau như văn bản, hỡnh ảnh,

õm thanh, phim số hoỏ

II KIẾN TRÚC CỦA WORLD WIDE WEB

World Wide Web được xõy dựng theo mụ hỡnh Client/Server, tức là người ta sẽ thiếtlập một mỏy phục vụ cho việc lưu giữ cỏc tài liệu Hypertext gọi là Web Server Phớangười sử dụng, cú một mỏy tớnh cựng với cỏc phần mềm cú khả năng hiểu được cỏc tàiliệu HTML và giao tiếp được với mỏy Server gọi là Web Client hoặc Web Bowser Khingười sử dụng yờu cầu một tài liệu nào đú, thỡ Web Server se phục vụ cho Web Bowsertài liệu đú và Web Bowser sẽ hiển thị nú lờn màn hỡnh với cỏc khuụn dạng thớch hợp.Dưới đõy là mụ hỡnh Client/ Server của World Wide Web:

Web Browser

Web Browser là một phần mềm được dựngở phớa người sử dụng, nhiệm vụ của nú là

khởi tạo cỏc con trỏ địa chỉ URL (sẽ được giải thớch ở phần tiếp theo) để gửi tới cho

Yêu cầu thông

tin của Client đ

ợc gửi lên

Internet Internet và WWW là một mạng máy tính để chuyển dữ

liệu giữa các máy tính với nhau

Server HTTP nhận yêu cầu, xử

lý nó và gửi kết quả về cho Client thông qua

Internet

Mô hình Client/Server của WWW

Trang 33

Wen Server Web Browser sẽ diễn dịch nội dung dưới ngôn ngữ HTML và trình bàychúng cho người sử dụng dưới nhiều hình thức phong phú Hiện nay, các Web Browserchủ yếu dùng giao diện đồ hoạ với người dùng để trình bày tài liệu một các hấp dẫn hơn.Ngoài các chức năng như trên, ta còn có thể thực hiện nhiều thao tác thông thườngkhác như là lưu tệp tin lên đĩa; sử dụng E-mail; hoặc sử dụng để biên soạn một tài liệuHTML nguồn (Web Editor).

Khái niệm HTTP

Các Web Server và Web Browser giao tiếp với nhau thông qua mét giao thức gọi làgiao thức truyền siêu văn bản (HyperText Transfer Protocol), và gọi tắt là giao thứcHTTP

Khi Client gửi một yêu cầu về phía Web Server thì giữa Client và Server sẽ hình thànhmột đường kết nối logic dùa trên giao thức HTTP Khi kết thúc quá trình trao đổi giữa

Web Server và Web Browser (khi Web Server đã phục vụ xong yêu cầu của Web Browser) thì sự kết nối này sẽ chấm dứt Như vậy, mối liên hệ giữa Client và Server chỉ

được thiết lập và tồn tại trong quá trình trao đổi với nhau Điều này có một lợi điểm rấtlớn là giảm được sự lưu thông trên hệ thống mạng

Khi dữ liệu được truyền từ Web Server về phía Client thì giao thức HTTP sẽ thêm vàophần đầu đề của khối dữ liệu một thông tin header tuân theo tiêu chuẩn MIME(Multipurpose Internet Mail Extension) để phục vụ cho việc trao đổi thông tin một cách

đa dạng Những tài liệu HTML sẽ có phần đầu đề theo dạng "Text/Html", các dạng dữliệu khác có phần đầu đề riêng của mình; ví dụ như văn bản thuần tuý có phần đầu đề là

"text/plain", tệp ảnh GIF sẽ có phần đầu đề là "Image/Gif" Khi Client gửi một yêu cầutới Web Server, nó sẽ gửi theo mét danh sách tất các các dạng MIME mà nó có thể hiểuđược, dùa vào đó mà Web Server chỉ phục vụ những dữ liệu mà Client đó có khả năng

Gopher Server

Web Server

Gopher Server

Gateway C¸c Server kh¸c

Web Browser

HTTPGopher

FTP

Chøc n¨ng cña Web Browser

Trang 34

hỗ trợ Khi nhận được tài liệu, trình Browser sẽ dùa vào mô tả MIME cuẩ tài liệu đó để

có cách trình bày thích hợp

Khái niệm HTML

HTML được viết tắt từ cụm từ HyperText Markup Language, tạm dịch là "ngôn ngữđánh dấu siêu văn bản", dùng để xây dựng nên các trang Web Các tài liệu HTML chophép ta mô tả về cấu trúc cũng như định dạng của một tài liệu, tạo ra sự tích hợp giữacác dạng thông tin khác nhau như hình ảnh; âm thanh, phim số hoá vào trong một tệptin đơn giản Nó cho phép ta mô tả các URL để tạo ra liên kết tới các dịch vụ khác nhautrên Internet Đây là công cụ rất mạnh để xây dựng các ứng dụng và tích hợp thông tintrên mạng Internet

III TÍCH HỢP CÁC DỊCH VỤ THÔNG TIN TRONG WWW

Mét trong những mục đích thiết kế chính của World Wide Web (Web) là khả năng hỗtrợ được các giao thức hiện thời của các ứng dụng sẵn có trên Internet Chính vì vậy màWeb có thể hiểu được và hỗ trợ rất nhiều các dịch vụ sẵn có trên Internet như FTP,Gopher, E-mail Điều này làm cho World Wide Web được chấp nhận và sử dụng rộngrãi

World Wide Web và Gopher

Web có khả năng hỗ trợ mọi đặc điểm của Gopher, bao gồm khả năng hiển thị mộtmenu Gopher, trình bày nội dung của Gopher Server Ngoài ra, Web còn có khả năng xử

lý các yêu cầu của dịch vụ Gopher và hiển thị lên trên các Browser tương tự như cácGopher Client thông thường khác Người dùng có thể chọn một đề mục trên menu, vàWeb Server sẽ hiển thị các thông tin tương ứng cho đề mục Êy

Để truy nhập tới Gopher ta có thể tạo ra mét URL với cú pháp như sau:

Trang 35

Dịch vô Địa chỉ Cổng giao tiếp Đường dẫn

Tên của dịch

vụ Gopher

Địa chỉ IP hoặc tên của máy Server

Cổng giao tiếp với Gopher, ngầm định

là cổng 70

Chỉ đến thư mục chứa thông tin của Gopher Server

World Wide Web và FTP

Hầu hết các Web Browser đều tích hợp khả năng truyền tệp vào trong chương trình của

mình (có nghĩa là không cần thêm chương trình ngoài) Khi người sử dụng truy nhập

FTP ở trong Web thì Web Client sẽ hiển thị một cây thư mục tương tự như trên các FTPClient thông thường khác Người sử dụng có thể dạo qua các cây thư mục này và lấy cáctệp từ cây thư mục đó về máy của mình

Muốn truy nhập FTP trên Web, ta có thể tạo ra mét URL như sau:

Mật khẩu của người sửdụng

Địa chỉ Internet, hoặc địa chỉ vùng của máy Server

Cổng truyền thông ngầm định của Server FTP

Đường dẫn đến tài liệu cần tham chiếu chứa trên Server

World Wide Web và WAIS

Sử dông WAIS trong World Wide Web sẽ bổ xung thêm khả năng truy tìm cơ sở dữliệu mà Web có rất Ýt Muốn sử dụng dịch vụ WAIS trong Web, ta có thể dùng mộttrong các phương pháp sau:

Ngày đăng: 25/11/2014, 07:53

HÌNH ẢNH LIÊN QUAN

Bảng điều khiển là một cửa sổ và nó cho phép người dùng điều khiển phim trong môi trường Director - công nghệ shockwave _ dịch vụ thông tin world wide web
ng điều khiển là một cửa sổ và nó cho phép người dùng điều khiển phim trong môi trường Director (Trang 9)
Bảng sau đây liệt kê các netLingo dùng để kiểm tra tiến trình của các hoạt động trên mạng - công nghệ shockwave _ dịch vụ thông tin world wide web
Bảng sau đây liệt kê các netLingo dùng để kiểm tra tiến trình của các hoạt động trên mạng (Trang 50)
Bảng sau cho ta mét danh sách các hàm của Browser có thể dùng trong phim Shockwave - công nghệ shockwave _ dịch vụ thông tin world wide web
Bảng sau cho ta mét danh sách các hàm của Browser có thể dùng trong phim Shockwave (Trang 53)
Sơ đồ hoạt động của chương trình như sau: - công nghệ shockwave _ dịch vụ thông tin world wide web
Sơ đồ ho ạt động của chương trình như sau: (Trang 55)
Hình học - công nghệ shockwave _ dịch vụ thông tin world wide web
Hình h ọc (Trang 57)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w