2013-07-30 39 views
5

Tôi đang phát triển công cụ trò chơi của riêng mình có tên là FGame và tôi đang gặp lỗi đồ họa thực sự làm tôi thất vọng và tôi không chắc chắn vấn đề nằm ở đâu. Đối với đồ họa, tôi đang sử dụng lớp Hình ảnh tùy chỉnh có mảng pixel 2d để lưu trữ dữ liệu của nó. Tôi cũng có một lớp màn hình, mở rộng lớp Image, và dữ liệu pixel của màn hình được sử dụng để vẽ đến JFrame thông qua lớp BufferedImage java.Lỗi công cụ hiển thị pixel tùy chỉnh Java

Nếu tôi vẽ một hình ảnh và di chuyển nó xung quanh màn hình, có lỗi đồ họa làm méo mó các pixel theo đường thẳng đứng tại các vị trí nhất định trên màn hình.

Đây là video hiển thị lỗi tôi đang cố mô tả: http://www.youtube.com/watch?v=MnGCuHW5neI và đây là liên kết tới mã nguồn: https://github.com/Frechetta/FGame.

+0

+1 cho nguồn tốt để điều tra –

+0

Ý anh là gì bóp méo? – arynaq

+0

Khi một hình ảnh di chuyển theo chiều ngang, các điểm ảnh của hình ảnh đó vượt qua các điểm nhất định trên trục x được di chuyển lên hoặc xuống một pixel, và sau đó quay lại một lần nữa khi chúng ở phía bên kia của điểm đó. –

Trả lời

1

Cảm ơn bạn @arynaq và @Max đã giúp tôi giải quyết vấn đề của mình. Tôi sẽ đăng mã cũ của tôi và mã mới cho bất kỳ ai khác gặp sự cố này.

Cũ Mã số:

frame = new JFrame(nameA); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
frame.setLayout(new BorderLayout()); 
frame.add(this, BorderLayout.CENTER); 
frame.pack(); 
frame.setResizable(false); 
frame.setLocationRelativeTo(null); 
frame.setVisible(true); 

Code mới:

frame = new JFrame(nameA); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
frame.setLayout(null); 
this.setSize(getPreferredSize()); 
frame.add(this); 
frame.pack(); 
frame.setSize(getPreferredSize()); 
frame.setResizable(false); 
frame.setLocationRelativeTo(null); 
frame.setVisible(true); 
Các vấn đề liên quan