Hiệu ứng xoay vòng dạng băng chuyền trong game

Một phần của tài liệu nghiên cứu và phát triển game trên trình duyệt web với silverlight (Trang 59)

Vấn đề

Trong game, khi muốn hiển thị nhiều hình ảnh vướt qua quá mức so với chiếu cao mặc định của 1 trình duyệt web, giải pháp thông thường là dùng scrollbar, tuy nhiên đối với silverlight đây là 1 vấn đề cần được giải quyết, do các ứng dụng silverlight đầu phải đặt chiều cao ban đầu của nội dung silverlight cho tất cả các trang. Như vậy vấn đề đặt ra là phải có cách nào đó thể hiện được lượng thông tin nhiều hơn bình thường này.

Giải Pháp 1

sử dụng scrollviewer của silverlight. Trong giải pháp này ta có thể giải quyết được vấn đề trên tuy nhiên giao diện của trang web trở nên không thực sự sống động, thiếu hiệu ứng, giống như Ikariam chỉ đơn thuần dưới dạng là text.

Giải pháp 2

Tạo ra một usercontrol sắp xếp các thành phần hiển thị giống như một băng chuyền. Giải pháp này vừa giúp tiết kiệm không gian cần có để hiển thị các thông tin mong muốn vừa tạo ra hiệu ứng giúp sinh động hơn cho chương trình.

<UserControl…. xmlns:Resources="clr-namespace:Ikariam.Langs"….>

<UserControl.Resources>

<Resources:Language x:Name="CurLang"></Resources:Language>

</UserControl.Resources>

<Button xml:Name="btnRegister" Content="{Binding btnRegister,

{Source={StaticResource CurLang}}}"> </Button>

Hình 4.5. Duyệt qua tất cả các loại lính bằng băng chuyền

Để xây dựng được 1 carousel ta phải tùy biến 1 silverlight control, và đặt những hiệu ứng trên silverlight control này.

Bước 1: Thêm 1 project silverlight library, khởi tạo lớp Carousel kế thừa từ lớp Panel.

Bước 2: Tạo các thuộc tính dependency và attach dependency.

Tạo thuộc tính dependency bằng cách đăng kí 1 thuộc tính thông qua phương thức lớp RegisterAttach.

Tạo thuộc tính attach dependency bằng cách đăng kí 1 thuộc tính thông qua hàm Phương thức lớp RegisterAttach.

Phải cài đặt lại hai hàm ArrangeOverride và MeasureOverride để tùy biến cho 1 control. Sau đó tạo các thông số cho các item con của Carousel với chỉ số của MatrixTransform : M11 = X Scale, M12 = X Skew, M21 = Y Skew, M22 = Y Scale

Một phần của tài liệu nghiên cứu và phát triển game trên trình duyệt web với silverlight (Trang 59)

Tải bản đầy đủ (DOC)

(93 trang)
w