Các hiệu ứng với các đối tượng riêng lẻ 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 60)

Vấn đề

Trong các game trên nền web thì hiệu ứng trên các đối tượng control hay ảnh thường rất ít được xây dựng, đa phần hiệu ứng nếu có chỉ là đơn giản và thường được viết bằng javascript, do đó giải pháp silverlight trở nên 1 công cụ

hỗ trợ tích cực để giải quyết vấn đề này làm cho game trở nên sống động, thú vị hơn.

Giải pháp 1

Tất cả các hiệu ứng đều kế thừa từ lớp Effect và đều phải nạp chồng hàm Animate

(thực hiện hiệu ứng) và Stop (Dừng hiệu ứng).

Sau khi thực hiện xong hiệu ứng nếu muốn thực hiện xử lí của riêng mình thì trước đó cần gán hàm xử lí vào thuộc tính EventHandler.

Các hiệu ứng được xây dựng sẵn bao gồm:

+ FadeIn và FadeOut: Mờ dần khi xuất hiện hoặc biến mất. + Rotate: Xoay.

+ ScaleUp và ScaleDown: Thay đổi về kích thước. + Shake: Rung.

Giải pháp 2

Để áp dụng các hiệu ứng trên các control microsoft đã đưa ra một số bộ theming cho các control trong silverlight toolkit. Hiện tại có đến 11 theming được đưa ra trong khi xây dựng game chúng em sử dụng theming Rainier Orange.

public class Effect

{

public Storyboard Story;

public EventHandler EventHandler { get; set; }

public virtual void Animate(FrameworkElement control, TimeSpan

timeSpan){} public virtual void Stop(){}

Hình 4.21 : Các loại theming shiny control

(Nguồn http://www.codeplex.com/Silverlight/Wiki/View.aspx)

Tham chiếu và include namespace System.Windows.Controls.Theming.

Cho tất cả control nào muốn sử dụng theming trên vào tag như sau

Giải pháp 3

Trong khi lựa chọn các công trình để xây dựng hay các loại unit, tất cả những loại này đều được thể hiện bằng ảnh, để tăng thêm hiệu ứng cho các ảnh này khi người dụng click chọn 1 loại, đây cũng là 1 đặc điểm góp phần làm cho game chúng em thêm sống động hơn.

Để thực hiện được điều này ta cần có sự hỗ trợ của 1 thư viện đó là SilverlightFX. Ta có thể download tại địa chỉ sau (http://projects.nikhilk.net/SilverlightFX/). Các hiệu ứng ảnh mà thư viện hỗ trợ như Fade, Shake, Spin……

Hình 4.22 Hiệu ứng ảnh trong silverlight FX

(Nguồn : http://www.nikhilk.net/Silverlight-Effects-Transitions.aspx )

Để tạo được 1 hiệu ứng cho ảnh chúng em phải thực hiện 2 bước : Bước 1: Thêm namespace trong thư viện silverlightFX là

SilverlightFX.UserInterface

Bước 2: Tạo hiệu ứng ClickEffect với TargetName là tên ảnh của mình, trong khi code để có thể nạp động ta có thể chọn target là đối tượng ảnh mình cần tạo effect.

Trong đoạn code mô tả chúng em tạo 1 hiệu ứng hightlight lên ảnh Silverlight.png. Để có thể tạo đa hiệu ứng trên 1 ảnh ta phải sử dụng composite effect. Đầu tiên ta phải tạo đối tượng ClickEffect, rồi ta định nghĩa các hiệu ứng lần lượt sẽ thể hiện

khi bạn click vào ảnh đó trong đoạn code sau đây chúng em định nghĩa hai hiệu ứng là fade và shake, sau đó add lần lượt các hiệu ứng này vào đối tượng composite effect rồi gán chính đối tượng vào thuộc tính effect của đối tượng ClickEffect được khởi tạo.

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 60)

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

(93 trang)
w