2013-08-28 73 views
-1

你好,我正在嘗試做一個VideoGame所以需要做一個縮放,但不知道如何搜索或Java的使用什麼librery做到這一點。這是我想要的圖片:如何放大圖像,如平臺遊戲

enter image description here

所以我的窗口如下所示:

enter image description here

我想是當我移動leftKey或RightKey的wnidow移到另一個這樣的位置:

enter image description here enter image description here enter image description here

以及我張貼imagen描述,因爲我不知道什麼樣的背景使用,我需要知道如果我需要一個特殊的背景或圖形組件?

我希望能理解我的想法

感謝您的回答!

我試試這個:

import java.awt.Dimension; 
import java.awt.Graphics; 
import java.awt.HeadlessException; 
import java.awt.Image; 
import javax.swing.ImageIcon; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.SwingUtilities; 

/** 
* 
* @author usuario 
*/ 
public class JavaApplication10 extends JFrame { 

     int offsetx, offsety; // the upper left corner of your viewport 
     Image imagenInterna ; 

    public JavaApplication10() throws HeadlessException { 

     imagenInterna = new ImageIcon(getClass().getResource("/N/Firefox_wallpaper.png")).getImage(); 
     setSize(300, 300); 
     setLocationRelativeTo(null); 
     setVisible(true); 
     fr(); 
    } 






    public static void main(String[] args) { 

     SwingUtilities.invokeLater(new Runnable() { 
     @Override 
     public void run() { 

      JavaApplication10 sd=new JavaApplication10(); 
     } 
    }); 
    } 



    public void drawBackground(Graphics g) { 
    Dimension size = getSize(); 
    g.drawImage(imagenInterna, 10, 10, size.width, size.height, 
       offsetx, offsety, offsetx + size.width, offsety + size.height, null); 
} 

    private void fr() { 


     JLabel ff=new JLabel(new ImageIcon(getClass().getResource("/N/Firefox_wallpaper.png"))); 
     ff.setBounds(0, 0, ff.getIcon().getIconWidth(), ff.getIcon().getIconHeight()); 
     add(ff); 
    } 
} 
+0

顯示我們與您繪製背景的代碼。 – Thomas

+0

以及我發佈的imagen描述,因爲我不知道什麼樣的背景使用,我需要知道如果我需要一個特殊的背景或圖形組件? – WearFox

回答

2

在繪製背景的組件,使用drawImage方法,允許指定的視口,即完整的圖像,你要畫的子區域(和你叫你的問題「窗口」):

int offsetx, offsety; // the upper left corner of your viewport 

public void drawBackground(Graphics g) { 
    Dimension size = getSize(); 
    g.drawImage(fullBackgroundImage, 0, 0, size.width, size.height, 
       offsetx, offsety, offsetx + size.width, offsety + size.height, null); 
}