我在设置graphics2D时遇到问题

时间:2013-01-03 15:15:29

标签: java graphics graphics2d rectangles

我正在制作一个简单的游戏,其中屏幕上绘制了两个矩形,并且用户输入了键盘箭头键,其中一个矩形(玩家)将移动。我创建了一个Main课程和一个Play课程,其中包含我的所有游戏代码,此代码包含init()update()render()等方法, init()处理所有初始条件,update()处理来自输入的移动和键输入,render()方法处理将内容绘制到屏幕上,例如背景和矩形。

我遇到的问题是在我的屏幕上绘制我的矩形(用我的变量设置),将它们放在我的渲染类中,我的方法设置为Graphic s我被告知我需要Graphics2D所以我试图将我的图形更改为Graphics2D,以便我可以绘制矩形。

这是我在我的颂歌顶部设置了我的变量的矩形:

Rectangle rectOne = new Rectangle(shiftX, shiftY,90,90);
Rectangle rectTwo = new Rectangle(500 + buckyPositionX, 330 + buckyPositionY, 210, 150);

这是我的渲染方法,我试图使用graphics2D绘制我的矩形:

    public void render(GameContainer gc, StateBasedGame sbg, Graphics g) throws SlickException{


    if(rectOne.intersects(rectTwo)){
        g.drawString("Intersect", 100, 100);}


    if(g instanceof Graphics2D){//error: Incompatible conditional operand type Graphics and Graphics2D

        Graphics2D g2 = (Graphics2D)g;}//cannot cast from Graphics to Graphics2D

    ((Graphics2D)g).fill(rectOne);//cannot cast from Graphics to Graphics2D
    ((Graphics2D)g).fill(rectTwo);//cannot cast from Graphics to Graphics2D

}

我的代码旁边的注释显示了我尝试使用此代码时出现的错误。如果我的Play课程需要更多代码或信息,请告诉我,我会发布。

0 个答案:

没有答案