[英]Moving the camera inside a Frame in java
我想知道如何在 java 的框架內移動相機。 前任:
frame.moveInsideFrame(pointX,pointY).
您必須移動框架中的所有內容。 例如:
private void moveInsideFrame(int moveX, int moveY) {
for (int i = 0; i < listOfObjects.size(); i ++) {
JComponent current = listOfObjects.get(i);
current.x -= moveX;
current.y -= moveY;
}
}
(這只是示例代碼,它不會真正起作用。在屏幕上有所有組件的ArrayList
並單獨移動每個組件。)
或者,如果您只是將它們全部放在框架中(而不是在自定義 JPanel 中覆蓋paintComponent
),則使用frame.getComponents()
。
您可以將外部框架視為“相機”框架,並在其內部創建“世界”框架。 然后,您可以使用相反的坐標移動您的世界窗口,以模擬相機的移動。
要實現它,請對內部框架使用絕對定位(即無布局)。 有關絕對定位的更多詳細信息,請參閱http://docs.oracle.com/javase/tutorial/uiswing/layout/none.html 。
我認為將所有對象放在具有 null 布局的 JPanel 中並將其作為相機移動是最好的解決方案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.