コード例 #1
0
ファイル: Game.java プロジェクト: jarlah/Rain-2d-game
  @Override
  public void render() {
    BufferStrategy bs = canvas.getBufferStrategy();
    if (bs == null) {
      canvas.createBufferStrategy(3);
      return;
    }

    screen.clear();
    int xScroll = (int) player.x() - screen.getWidth() / 2;
    int yScroll = (int) player.y() - screen.getHeight() / 2;
    level.render(xScroll, yScroll, screen);
    for (int i = 0; i < pixels.length; i++) {
      pixels[i] = screen.getPixels()[i];
    }

    Graphics g = bs.getDrawGraphics();
    g.drawImage(image, 0, 0, canvas.getWidth(), canvas.getHeight(), null);
    g.setColor(Color.WHITE);
    g.setFont(new Font("Verdana", 0, 50));
    window.setTitle(
        TITLE
            + " | "
            + getFps()
            + " fps, "
            + getUps()
            + " update"
            + (getUps() > 1 ? " catchup" : "")
            + " per render");
    Toolkit.getDefaultToolkit().sync();
    g.dispose();
    bs.show();
  }
コード例 #2
0
ファイル: Overworld.java プロジェクト: Ayla0/Fire-Emblem
  public Overworld() {
    frame = new JFrame("Basic Game");
    JPanel panel = (JPanel) frame.getContentPane();
    panel.setPreferredSize(new Dimension(1000, 1000));
    panel.setLayout(null);

    canvas = new Canvas();
    canvas.setBounds(0, 0, 1020, 1020);
    canvas.setIgnoreRepaint(true);

    panel.add(canvas);

    canvas.addMouseListener(new MouseControl());
    canvas.addMouseMotionListener(new MyClass());
    canvas.addKeyListener(new KeyControl());

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setResizable(false);
    frame.setVisible(true);

    canvas.createBufferStrategy(2);
    bufferStrategy = canvas.getBufferStrategy();

    canvas.requestFocus();
  }
コード例 #3
0
ファイル: GUIImpl.java プロジェクト: rockerdiaz/halfnes
  public synchronized void setRenderOptions() {
    if (canvas != null) {
      this.remove(canvas);
    }
    screenScaleFactor = PrefsSingleton.get().getInt("screenScaling", 2);
    smoothScale = PrefsSingleton.get().getBoolean("smoothScaling", false);
    if (PrefsSingleton.get().getBoolean("TVEmulation", false)) {
      renderer = new NTSCRenderer();
      NES_WIDTH = 302;
    } else {
      renderer = new RGBRenderer();
      NES_WIDTH = 256;
    }
    if (PrefsSingleton.get().getInt("region", 0) > 1) {
      NES_HEIGHT = 240;
      renderer.setClip(0);
    } else {
      NES_HEIGHT = 224;
      renderer.setClip(8);
    }

    // Create canvas for painting
    canvas = new Canvas();
    canvas.setSize(NES_WIDTH * screenScaleFactor, NES_HEIGHT * screenScaleFactor);
    canvas.setEnabled(false); // otherwise it steals input events.
    // Add canvas to game window
    this.add(canvas);
    this.pack();
    canvas.createBufferStrategy(2);
    buffer = canvas.getBufferStrategy();
  }
コード例 #4
0
ファイル: Animator.java プロジェクト: Trivoc/Bouncy
 @Override
 public void init() {
   Dimension appletDimension = getSize();
   canvasWidth = appletDimension.width;
   canvasHeight = appletDimension.height;
   setFrameRate(MAX_FRAMERATE);
   // Set up animation tools
   canvas = new Canvas();
   canvas.setIgnoreRepaint(true);
   canvas.setSize(canvasWidth, canvasHeight);
   add(canvas);
   // Set up double buffer
   canvas.createBufferStrategy(2);
   buffer = canvas.getBufferStrategy();
 }