drawableobject.java

来自「游戏编程AI源码」· Java 代码 · 共 36 行

JAVA
36
字号
package bb;

import java.awt.*;
import java.awt.geom.*;

/*
The abstract base class for all objects that can be drawn, whether they are
agents or resource pools or whatever.

@author naimad
*/

public abstract class DrawableObject {
    
    Shape drawShape = null;
    Vec2 pos = new Vec2();
    
    public DrawableObject(Vec2 pos) {
    	this.pos.set(pos);
        drawShape = createShape();
    }
    
    AffineTransform trans = new AffineTransform();
    public void updateGraphics(double time, Graphics2D g2) {
        g2.translate(pos.x(), pos.y());
        drawShape(time, g2);
        g2.translate(-pos.x(), -pos.y());
    }
    
    public void drawShape(double time, Graphics2D g2) {
        g2.fill(drawShape);
    }
    
    public abstract Shape createShape();
    
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?