Как мне найти определенный метод для использования в Java, зная только то, что метод должен делать? - PullRequest
0 голосов
/ 27 февраля 2012

Я проектирую фон для игры, используя простые формы Java.

Я пытаюсь сослаться на класс Waves, который рисует объект, и использую его как объект в другом классе, чтобы я мог перемещать его через координаты X, Y.Я делаю это, потому что мне нужно использовать это несколько раз.Я не знаю, каким способом для перемещения вызываемого объекта, хотя.
В моем случае, какой метод я могу использовать и / или что я буду искать в API?Волны также расширяют JPanel?


import java.awt.*; 
import java.awt.event.*;
import javax.swing.*;

public class Stickman extends JPanel{

public void paintComponent(Graphics g)
{
    this.setBackground(new Color (135, 206, 235));
    //Check operation of "this" in API

    final int XMID = 400;
    final int YMID = 300;

    Color Ocean = new Color (143, 188, 143);
    Color Ship = new Color (139,  69,  19);
    Color Sail = new Color (255, 228, 196);

    Waves waves = new Waves(); //THIS IS THE PART WHERE I WANT TO CALL AND MOVE 
                               //THE OBJECT 
    }
}

import java.awt.Color;
import java.awt.Graphics;

public class Waves 
{
public void paintComponent(Graphics g)
{
    final int XMID = 400;
    final int YMID = 300;
    //small cirlce diameter
    final int SMCD = 60;
    double BGCD = SMCD * 2;

    //wave base
    g.fillRect(0, 462, 800, 28);
    //first big circle (ARC)
    g.fillArc(XMID-(SMCD/2) - 8, 480-SMCD - 8, (int)BGCD, (int)BGCD, 0, 130);

    //first small circle
    g.setColor(Color.CYAN);
    g.fillOval(XMID-(SMCD/2),480-SMCD , SMCD, SMCD);

    }
}

1 Ответ

0 голосов
/ 27 февраля 2012

Итак, вызовите paintComponent () для волн.

Хотя проблема в том, что на каждой краске вы воссоздаете волны каждый раз заново.По моему мнению, он должен быть членом Stickman и инициализироваться / создаваться только один раз, в конструкторе, а не каждый раз, когда окно рисуется.

...