Tôi biết Sean James đã nói điều đó . Nhưng nghiêm túc, Visual Studio (cụ thể là các công cụ gỡ lỗi) là tuyệt vời cho việc này.
Tôi không sử dụng C ++ nhiều trong những ngày này, vì vậy tôi không chắc những ứng dụng này được áp dụng tốt như thế nào. Nhưng đối với C # (bao gồm trong C # Express), bạn có:
- Chỉnh sửa và tiếp tục - nơi bạn có thể thực hiện các thay đổi bán buôn cho logic trò chơi của mình.
- Các Xem Window - nơi bạn có thể xem và chỉnh sửa các biến một cách dễ dàng.
Và điều này có thể thổi bay tâm trí của bạn (nó đã thổi bay tôi khi tôi phát hiện ra điều đó):
Cửa sổ ngay lập tức thực sự khó tìm (nó nằm trong menu Gỡ lỗi / Windows).
Nhược điểm lớn duy nhất khi sử dụng trình gỡ lỗi Visual C # là nó không thích thay đổi const
giá trị. Vì vậy, tôi thường chỉ tạo ra các giá trị liên quan đến trò chơi của mình static
trong khi tôi điều chỉnh chúng.
(Ngoài ra: có hai màn hình giúp ích rất nhiều.)
Bây giờ tôi phải thừa nhận rằng phương pháp trên liên quan đến việc tạm dừng ứng dụng của bạn - có thể chậm một cách không thỏa đáng đối với một vài điều đặc biệt khó hiểu.
Trong những dịp hiếm hoi này, những gì tôi làm (trong XNA) chỉ đơn giản là hack một chút mã (có thể sử dụng Chỉnh sửa và Tiếp tục, như trên) để lấy Keyboard.GetState().IsKeyDown()
(thực ra tôi có một trình bao bọc dễ gõ hơn cho việc này) và điều chỉnh giá trị bằng tổ hợp phím. Bất cứ điều gì phức tạp hơn không đáng để nỗ lực.
Trên thực tế những gì tôi thường thấy bao la quan trọng hơn là có khả năng hình dung (chứ không phải modify) giá trị trong thời gian thực. Đối với điều này, tôi có một lớp nhỏ đẹp có thể đệm các dòng và văn bản sẽ được vẽ ở cuối khung. Nó cũng hữu ích cho việc tạo mẫu nhanh.
(Và, một lần nữa, thật tuyệt khi có thể "Chỉnh sửa và tiếp tục" những hình ảnh này trong thời gian chạy.)
(nguồn: andrewrussell.net )
( từ đây )
Tôi e rằng tôi không có nguồn "đẹp" để xuất bản vào lúc này (có thể sau này). Nhưng về cơ bản, nó chỉ là một danh sách các dòng (cho thư viện đường tròn này ) và các chuỗi (cho SpriteBatch tích hợp của XNA). Chỉ cần đặt nó public static
ở đâu đó và vẽ mọi thứ với một biến đổi phù hợp để mọi thứ xuất hiện trong "không gian thế giới" (và sau đó xóa danh sách cho khung tiếp theo).