2013-01-24 19 views
6

do dự án trường học của tôi, tôi phải tạo một trò chơi chỉ sử dụng các biểu mẫu Windows.Làm thế nào để tạo ra một hình ảnh động trơn tru bằng cách sử dụng các hình thức C# Windows?

Tôi đã quyết định tạo trò chơi đua xe 2D. Vì vậy, bây giờ tôi cần phải di chuyển hình ảnh xe hơi. Để di chuyển nó, tôi đã cố gắng tạo hiệu ứng động cho chiếc xe với sự kiện KeyDown, tuy nhiên hoạt ảnh thực sự là tuyệt vời .. Vậy còn cách nào khác để tạo hoạt ảnh? hoặc là nó có thể soomth nó bằng cách nào đó? (Đối với chiếc xe tôi sử dụng một PictureBox được gắn vào biểu mẫu và trong sự kiện sơn của nó, hãy vẽ lại xe ở đúng vị trí cửa sổ.)

+0

Tôi đề nghị bạn đọc lên bộ đệm đôi. – lahsrah

+0

Khá một chủ đề lớn. Chủ đề này có thể cung cấp một số gợi ý: http://stackoverflow.com/questions/188349/simple-animation-using-c-windows-forms –

+0

Đăng những gì bạn đã làm cho đến thời điểm này. –

Trả lời

5

bài này nên giải quyết vấn đề của bạn: simple-animation-using-c-windows-forms

Ông chi tiết làm thế nào ông đã đi xung quanh mã hóa hình ảnh động trong một hình thức cửa sổ và bao gồm một số câu hỏi của bạn.

Nếu điều đó không giải quyết được, hãy tra cứu bằng một số thư viện XNA như Freeman đã nói.

2

Từ các chi tiết bạn cung cấp, tôi có thể nói điều này, nếu bạn muốn tạo một mini-game tôi sẽ khuyên bạn nên sử dụng WPF với một số thư viện XNA, vì WinForms không thực sự cắt ra để cho phép một trải nghiệm đồ họa rất ấn tượng, nhưng thay vì nó ủng hộ việc tạo ra các công cụ GUI đơn giản. Đôi khi thậm chí không đôi đệm giúp nhiều.

+0

của nó cho dự án SCHOOL ... tôi không thể sử dụng bất kỳ cách nào khác .. –

+0

một số thư viện XNA cũng có thể được sử dụng với các biểu mẫu cửa sổ trong trường hợp đó và các thư viện này được thiết kế đặc biệt để tối ưu hóa kết xuất đồ họa cho các thời gian chạy được quản lý. – Freeman

0

bạn cũng có thể tạo ra một hệ thống chuyển động-animation

 int x = pictureBox1.Location.X; 
     int y = pictureBox1.Location.Y; 
     if (e.KeyCode == Keys.Right) x += 1; 
     else if (e.KeyCode == Keys.Left) x -= 1; 
     pictureBox1.Location = new Point(x, y); 

để làm cho nó nhanh hơn thay đổi x + = 1 x- = 1 và y + = 1 y- = 1; với số lớn hơn như y x- = 3; vì vậy trong cod này bạn có các phím mũi tên nhưng chỉ phải và trái bởi vì bạn sẽ lái xe foward gặt hái, do đó bạn chỉ di chuyển sang phải và trái