所以我正在创建一个侧卷轴,我正在尝试在另一个图像的点处绘制图像.
我的背景图像是5000 x 500,让我说我想在500,50的背景图像上绘制一个25x25的图像.我该怎么办?
到目前为止,我已经尝试过:
Coins c = new Coins(img.getWidth(this) - 4500, img.getHeight(this) - 250);
Run Code Online (Sandbox Code Playgroud)
但是这只是将它绘制在帧的500,50处,因此当我向右滚动时它会在图像上"移动".我想,在向右滚动一次之后,硬币图像在500,50的图像上绘制仍然是495,50帧.
我也可以使用背景图像的getGraphics并将较小的图像绘制到它上面,但我认为因为我设置了在创建对象期间绘制的点,我不能这样做.
角色不会移动,除了上下,只有背景滚动,所以我希望硬币像背景一样移动.
图片:(无法嵌入,因为我没有10个代表点) http://dl.dropbox.com/u/47632315/char.png http://dl.dropbox.com/u/47632315/coin .png http://dl.dropbox.com/u/47632315/sideScrollerBG.png
和SSCCE:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.awt.image.ImageObserver;
import java.io.IOException;
import javax.imageio.ImageIO;
public class SideScroller extends JPanel implements KeyListener {
public static void main(String args[]) throws Exception {
SideScroller f = new SideScroller("Side Scroller");
}
JFrame f = new JFrame();
int x = 0;
int y = 0;
int k = 10;
int j …Run Code Online (Sandbox Code Playgroud) 我正在尝试向我的JPanel添加一个按钮并设置位置.我有
buttonOptions.setLocation(1150, 700);
但它将它添加到我的JPanel中间,大约600,20.我尝试添加
buttonOptions.setLocation(1150, 700);
将按钮添加到面板后,但也没有修复它.我还设置了动作以设置位置并且有效.
public class StartScreen extends JPanel implements ActionListener{
ImageIcon imageButtonOptions = new ImageIcon(imageButtonOptionsPath);
ImageIcon imageButtonOptionsHovered = new ImageIcon(imageButtonOptionsHoveredPath);
JButton buttonOptions = new JButton(imageButtonOptions);
public StartScreen() {
buttonOptions.setBorderPainted(false);
buttonOptions.setFocusPainted(false);
buttonOptions.setContentAreaFilled(false);
buttonOptions.addActionListener(this);
buttonOptions.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseEntered(java.awt.event.MouseEvent evt) {
buttonOptions.setIcon(imageButtonOptionsHovered);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
buttonOptions.setIcon(imageButtonOptions);
}
});
buttonOptions.setLocation(1150, 700);
add(buttonOptions);
}
Run Code Online (Sandbox Code Playgroud)