Java 如何在我的小行星计划中展示我的宇宙飞船?
我正在努力完成一个小行星计划。我有四节课。小行星,多边形,游戏和星号。 我正在制造一艘新的船型,它是船的一个子类。我是java新手。我试图制作一个新的飞船对象,但我无法使它出现在屏幕上。 然而,在船舶类中,我使用了fillPolygon,现在它显示在屏幕上。但我知道写作的方式。 如何使用ship对象制作ship并使其显示。我在下面提供我的课程Java 如何在我的小行星计划中展示我的宇宙飞船?,java,awt,Java,Awt,我正在努力完成一个小行星计划。我有四节课。小行星,多边形,游戏和星号。 我正在制造一艘新的船型,它是船的一个子类。我是java新手。我试图制作一个新的飞船对象,但我无法使它出现在屏幕上。 然而,在船舶类中,我使用了fillPolygon,现在它显示在屏幕上。但我知道写作的方式。 如何使用ship对象制作ship并使其显示。我在下面提供我的课程 package asteroids; /* CLASS: Asteroids DESCRIPTION: Extending Game, Asteroi
package asteroids;
/*
CLASS: Asteroids
DESCRIPTION: Extending Game, Asteroids is all in the paint method.
NOTE: This class is the metaphorical "main method" of your program,
it is your control center.
Original code by Dan Leyzberg and Art Simon
*/
import java.awt.*;
import java.awt.event.*;
class Asteroids extends Game {
static int counter = 0;
public Asteroids() {
super("Asteroids!",800,600);
this.setFocusable(true);
this.requestFocus();
}
public void paint(Graphics brush) {
brush.setColor(Color.black);
brush.fillRect(0,0,width,height);
// sample code for printing message for debugging
// counter is incremented and this message printed
// each time the canvas is repainted
counter++;
brush.setColor(Color.white);
brush.drawString("Counter is " + counter,10,10);
ship p = new ship(
new Point[] {new Point(1,1),new Point(3,1),new Point(1.5,2)},
new Point(3,3),
0);
brush.setColor(Color.red);
p.paint(brush );
}
public static void main (String[] args) {
Asteroids a = new Asteroids();
a.repaint();
}
}
多边形类
enter code herepackage asteroids;
/*
类别:多边形
描述:多边形是由一组多边形定义的空间点序列
这样的点、偏移和旋转。偏移量是
原点和形状中心之间的距离。
旋转以度(0-360)为单位进行测量。
用法:您打算用一组
永久定义其形状,然后通过重新定位和
旋转那个形状。在定义形状时,相对位置
您提供的点中有一个被使用,换句话说:{(0,1),(1,1),(1,0)}
与{(9,10)、(10,10)、(10,9)}的形状相同
}
小行星应该直接或间接地延伸JFrame(通过游戏) 实例化小行星类(该类应扩展JFrame)后,请执行以下操作:
asteroid.setVisible(true);
一个新的jpanel将出现,您的绘制方法将在该jpanel的画布上绘制
import java.awt.Color;
import java.awt.Graphics;
public class ship extends Polygon{
static int counter=0;
public ship(Point[] inShape, Point inPosition, double inRotation) {
super(inShape, inPosition, inRotation);
// TODO Auto-generated constructor stub
}
public void paint(Graphics brush) {
brush.fillPolygon(new int []{400,380,380,420,420,400},new int[] {300,320,360,360,320,300},6);
}
public void drawPolygon(Point[] points, Point point, int i) {
// TODO Auto-generated method stub
}
Any help will be appreciated ,thanks
asteroid.setVisible(true);