December 1, 2010
Filed under XNA
leave a response
– XNA là một công nghệ của Microsoft phục vụ cho mục đích lập trình game. Ưu điểm của nó là tốc độ làm game nhanh, quản lý tài nguyên (hình ảnh, âm thanh, ….) một cách hiệu quả và đơn giản, hỗ trợ nhiều ngôn ngữ.
Đang xem: Xna là gì, download xna framework
– XNA platform là gì? Platform, chúng ta tạm dịch là nền tảng, bao gồm cả phần cứng và phần mềm mà ứng dụng chạy trên đó. Vd như chúng ta chơi game Fifa trên PC, thì PC và HĐH Windown chính là platform. Một game có thể chạy trên một hoặc nhiều flatform, VD như PES có thể chạy trên PC và cả Playstation. Đối với một game thương mại thì việc chạy được trên nhiều flatform ảnh hưởng rất lớn đến thị phần của nó. XNA cho phép ta lập trình game chạy trên PC + Windows, XBOX360, ZUNE, mỗi loại đều có ưu điểm nhược điểm riêng.
Xem thêm: Nghĩa Của Từ Stiff Là Gì ? Nghĩa Của Từ Stiffness Trong Tiếng Việt
– Bắt đầu với XNA như thế nào:+ Cài VS (2005, 2008, 2010 ).+ Cài XNA studio, VS 2005, 2008 chỉ hỗ trợ XNA 3.0, VS 2010 hỗ trợ XNA 4.0.+ Mở VS –> New project –> Visual C# –> XNA Game Studio –> Windowns Game. Đặt tên game –> OK. Sau đó nhấn F5, nếu thấy nó hiện một cửa sổ xanh lè là coi như việc cài đặt đã hoàn tất.
Xem thêm: Stormwater Là Gì ? Nghĩa Của Từ Storm Water Trong Tiếng Việt
– Cấu trúc một game cơ bản.Nhìn vào cửa sổ Solution Explorer, chỉ thấy 2 class: Program.cs, và Game1.cs.Mở Program.cs lên thấy nó chả làm gì ngoài việc khởi tạo một đối tượng của Game1 và gọi nó chạy.using (Game1 game = new Game1()){game.Run();}Mở Game1.cs lên:
+ Thấy nó kế thừa từ Microsoft.Xna.Framework.Game (Nếu quan tâm hơn nữa bôi đen chữ game rùi nhấp chuột phải chọn Go To Definition để hiểu rõ hơn về claas Game)+ Thuộc tính cơ bản của nó gồm GraphicsDeviceManager và SpriteBatch, hiểu đơn giản thì GraphicsDeviceManager là đối tượng quản lí thiết bị đồ họa, còn SpriteBatch là đối tượng dùng để vẽ lên màn hình.+ Các hàm:public Game1(){graphics = new GraphicsDeviceManager(this);Content.RootDirectory = “Content”;}
=> Hàm khởi tạo, khai báo đối tượng đồ họa, thư mục chứa tài nguyên là Content.protected override void Initialize(){base.Initialize();}=> Hàm khởi tạo các thông số ban đầu, chúng ta sẽ thực hiện việc khởi tạo các thông số liên quan đến game ở đây, vd như kích thước cửa sổ, chế độ fullscreen, ….protected override void LoadContent(){spriteBatch = new SpriteBatch(GraphicsDevice);}
=> Khởi tạo bút vẽ, đồng thời việc load các tài nguyên của game như hình ảnh, âm thanh sẽ chỉ được thực hiện ở đây, vd như bạn muốn sử dụng một hình ảnh để thể hiện một nhân vật trong game, có thể dùng 1 lần hoặc nhiều lần, cũng có thể không dùng đến, bạn đều phải load nó vào ở đây, và chỉ load 1 lần duy nhất.protected override void UnloadContent(){}=> Việc unload các tài nguyên không sử dụng sẽ được thực hiện ở đây.protected override void Update(GameTime gameTime){base.Update(gameTime);}
=> Vòng lặp thực hiện việc xử lý logic, kiểm tra va chạm, nhận tín hiệu điều khiển…….. Thời gian giữa 2 lần lặp là gameTime.protected override void Draw(GameTime gameTime){GraphicsDevice.Clear(Color.CornflowerBlue);base.Draw(gameTime);}=> Vòng lặp thực hiện việc vẽ game lên màn hình sau từng khoảng thời gian gameTime, nó sẽ clear toàn bộ màn hình và thực hiện việc vẽ lại tất cả các đối tượng cần vẽ.