0

我是 Java 世界的新手,我开始学习斯坦福 cs106A 课程。我提出了“突围”问题,其中包括制作一个简单的突围游戏。我想更进一步,我的观点是创建新的类,可以在主类的 GCanvas 上合并对象。

所以,现在我有这样的事情:

public class Breakout extends GraphicsProgram {

        //...

    public void run();
    private void playGame();
    private void checkForPaddleCollisions();
    private boolean passedBorderline();
    private boolean moreBricksRemainig();
    private void checkForCollisions();
    private void updatePuntuation(GObject obj);
    private void changeDirection(int temp);
    private GObject getCollidingObject(double x, double y);
    private void moveBall();
    private void checkForBounderies();
    private boolean hitsLeftWall();
    private boolean hitsRightWall();
    private boolean hitsRoof();
    private void setRandomVx();
    private void setBall();
    private void setUp();
    private void setLabels();
    private void setPaddle();
    public void mouseDragged (MouseEvent e);
    public void mousePressed(MouseEvent i);
    private void placeBricks();

    private GOval ball;
    private GRect paddle;
    private GLabel win, lose, lifes, puntuationLabel;
    private GPoint last;
    private double vx, vy = 3.0;
    private RandomGenerator rgen = RandomGenerator.getInstance();
    private int Delay = 50;
    private int counterBricks = NBRICKS_PER_ROW * NBRICK_ROWS;
    private AudioClip bounceClip = MediaTools.loadAudioClip("bounce.au"); 
    private int noPaddleBugs = 0;
    private int puntuation = 0;
    private int actualPunt = 0;
}

这是游戏的主要类别。我想要做的是创建一个名为PowerUps. 这个类可以GCanvas在游戏的任何时候将任何对象放在主类的对象上。我试图GCanvas通过说类似的话来访问主类Breakout."canvasproperty".add(newObject),但似乎不允许这样做。

然后我想:我可以创建一个扩展 GCanvas 的类,然后在那个“新”画布的主类中初始化一个公共属性。使用此方法,我可以从外部类在此画布中插入新对象,但问题是当我运行 Breakout 类时,“新”画布属性不显示...

我不知道我是否表达得很好,但我试过了,如果有人可以帮助我,我会非常感激?提前致谢。

4

0 回答 0