Khi khai
thác những kỹ thuật của Silverlight trong phát triển các ứng dụng game, tôi đã
phát hiện ra một số cách để khắc phục những khó khăn gặp phải. Tôi dự định sử
dụng blog này để theo dõi những vấn đề này với hi vọng có thể giúp bạn tiết
kiệm thời gian nếu bạn cũng nghiên cứu như tôi. Ngoài ra, tôi đã thêm một phần
game resource, để đặt những đường liên kết tới các game tutorial ứng dụng
Silverlight khác.
Nếu bạn khám phá bất kỳ chi tiết nào khác, xin vui lòng gửi
cho tôi và tôi sẽ post bài của bạn ! Cảm ơn bạn.
Game
Resources
Silverlight Hỗ Trợ:
- Định dạng file JPG và PNG.
- Transparency through PNG files.
- Keyboard và mouse input
- Sound
- Game UI layout through Grid
elements.
- Timers (animating, game loop,
etc.)
- Texture blending through
Opacity.
- Socket/TCP programming for
multi-player networking support
- Events (clicking, etc.)
- Animation - WPF model that uses
timers instead of frames.
- Great debugging support through
Visual Studio.
Silverlight Không Hỗ Trợ:
- Định dạng file GIF or BMP.
Cách khắc
phục: Sử dụng file định dạng PNG (hay
JPG).
- Tạo hình ảnh từ những tập hợp
con của những hình ảnh lớn hơn.
Cách khắc
phục: Bạn có hai
cách:
1. Thiết lập một khu vực riêng dành cho
hình ảnh như là bạn chỉ hiển thị một phần của hình ảnh mà bạn muốn hiển thị.
2. Đặt mỗi hình ảnh trong tập tin riêng
của chúng. Nhưng khó khăn cho những công việc như là những chuyển động của các
yêu tinh, điều này có nghĩa là phải có rất nhiều file riêng. Rất khó để quản lý.
- Lưu file cục bộ - Vì còn liên
quan đến security, Silverlight 2.0 không hỗ trợ saving. Sẽ có nói về sự hỗ
trợ SaveFileDialog trong tương lai và tôi sẽ theo dõi vấn đề này chặt chẽ để cho bạn
biết những gì tôi nghiên cứu được. Tôi cần
nét riêng này (chỉnh sửa bản đồ)!
Cách khắc
phục: Lưu tại một
web server. Xem Michael
Sync's blog tại đây: http://michaelsync.net/category/silverlight bên dưới "Uploading with Silveright 2 Beta 1 and
WCF"
- Những giá trị dấu chấm động cho các vị trí - Nếu bạn
ghép các hình với nhau tạo thành 1 bản đồ, chúng sẽ tự động đổi vị trí các
điểm X và Y trên bản đồ thành các giá trị thập phân , bạn sẽ nhìn thấy
những đường line được tạo thành giữa những miếng ghép.
Cách khắc
phục: Sử dụng làm
tròn giá trị.
- Chỉnh sửa các điểm ảnh bitmap, lọc
ảnh (color matrix, vv....) và những hiệu ứng (blur, glow, vv...).
Cách khắc
phục: Dựa vào
opacity bạn có thể tạo ra những hiệu ứng thật đẹp, thật cool như là tạo nên
sự pha trộn thật mềm mượt liên tục giữa
những mảnh ghép bản đồ. Xem ví dụ tại đây tutorial .
- Trình diễn 3D - Silverlight 2 không
hỗ trợ 3D. Tuy nhiên, hãy xem Tip of the Day #71 trên Silverlight 3. Bạn sẽ được hỗ trợ về 3D tại đây.
Cách khắc
phục: Tại đây có
những engines và demos về 3D rất tuyệt. Thí dụ:
1. http://www.markdawson.org/kit3d/
2. http://www.codeplex.com/Balder
- Chia sẻ các nguồn lực là không
được phép. Ví dụ, chia sẻ một SolidColorBrush giữa các hình chữ nhật. Nếu bạn
có hình chữ nhật 1000, chúng sẽ cần phải có tất cả các brush riêng biệt cho mỗi
hình chữ nhật.
• Căn chỉnh cho văn bản trong Textboxes.
Cách khắc phục: Bạn sẽ phải programmatically center nó.
Thank you,
--Mike Snow