2012-05-29 2 views
1

// 자바로 기본 경주 용 자동차를 만들려고합니다. 나는 몸체를위한 직사각형을 만들었고, 이제 나는 정면을위한 삼각형을 만들려고 노력하고있다. 삼각형을 만들 때 코드를 온라인으로 보았지만 아래 사각형이있는 것처럼 형식이 아닌 것 같습니다. 나는이 코드의 대부분을 "악의적 인 천재를위한 비디오 게임 프로그래밍"에서 참조로 얻었고 이제는 우리 자신의 차량을 만들 것을 권장하지만 직사각형 만 설명됩니다. 직사각형의 코드를 다른 하나와 겹치기를 기대하는 삼각형으로 복사 했으므로 코드가 작동한다는 것을 알았지 만 그렇지 않습니다. 삼각형과 원형을 만드는 법을 누군가에게 설명 할 수 있을까요? 또한 다른 클래스를 만들지 않고도이 작업을 수행 할 수 있습니까?자바로 삼각형을 만들려고합니다

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

public class Vehicle extends JFrame 

{ 
    final int WIDTH = 900; int HEIGHT = 650; 

    Rectangle p1Body = new Rectangle(WIDTH/9,HEIGHT/2, WIDTH/30,WIDTH/30); 
    Triangle p1Front = new Triangle(WIDTH/9,HEIGHT/2, WIDTH/30,WIDTH/30); 

    Rectangle p2Body = new Rectangle(((WIDTH/9)+((int)((WIDTH/9)*1.5)/2)),(HEIGHT/2)+ 
    (HEIGHT/10),WIDTH/30,WIDTH/30); 


public Vehicle() 
    { 
     super("Radical Racing"); 
     setSize(WIDTH,HEIGHT); 
     setDefaultCloseOperation(EXIT_ON_CLOSE); 
     setVisible(true); 

} 
public void paint(Graphics g) 
{ 
    super.paint(g); 

    g.setColor(Color.DARK_GRAY); 
    g.fillRect(0,0,WIDTH,HEIGHT); 

    g.setColor(Color.BLUE); 

    g.fill3DRect(p1Body.x,p1Body.y,p1Body.width,p1Body.height,true); 
    g.setColor(Color.BLUE); 
    g.fill3D(p1Front.x,p1Front.y,p1Front.width,p1Front.height,true); 


    g.setColor(Color.red); 

    g.fill3DRect(p2Body.x,p2Body.y,p2Body.width,p2Body.height,true); 

} 


public static void main(String[]args) 
    { 
     new Vehicle(); 
    } 

} 

답변

1

는 삼각형 BTW

이 Ellipse2D (두 배)를 사용하여 수행 할 수 있습니다 클래스 Path2D (두 배) 원을 사용하여 수행 할 수 있습니다, 당신은 영역을 사용하여 하나에 이러한 형태의 모든 조합에 대해 생각 할 수 있습니다 - http://docs.oracle.com/javase/7/docs/api/java/awt/geom/Area.html을 . 그들은 점을 포함하는 경우 영역 모양을 & 테스트를 조작하기위한 매우 유용 등

체크 아웃 Graphics2D.draw (또는 입력) (모양)

http://docs.oracle.com/javase/7/docs/api/java/awt/Graphics2D.html#draw(java.awt.Shape)

관련 문제