- 질문 게시판입니다.
Date 18/05/31 11:20:18
Name   L'Etranger
Subject   자바 코딩 관련 질문드립니다 ㅜㅜ
정말 완전 시작단계라 질문이 근본이 없는걸 이해해주셨으면 해요

코드를 여기다 붙여도 될런지 모르겠지만 그렇게 해볼게요


import java.awt.*;
public class HorseRun extends Frame implements Runnable {
    private static final String EXIT_ON_CLOSE = null;
private Image offScreenImage;
    private Graphics offScreen;
    private Image img;
    private Thread th;
    private int speed_x, speed_y;
    private int x, y;
    private boolean usedbuffer = true;

    public HorseRun() {
        super("HorseRun");

        initlodation();
        MediaTracker tracker = new MediaTracker(this);
        img = Toolkit.getDefaultToolkit().getImage("d:/HorseRun.gif");
        tracker.addImage(img, 0);
        try {
            tracker.waitForAll();
        } catch (InterruptedException e) {}

        th = new Thread(this);
        th.start();
    }

    public void run() {
        while (th != null) {
            repaint();
            try {
                th.sleep(50);
            } catch (InterruptedException e) {}
        }
    }

    void paintingjob(Graphics g, int w, int h) {
        g.clearRect(0, 0, w, h);
        x += speed_x;
        y += speed_y;
      if (x >= w) {
            initlodation();
        }
        g.drawImage(img, x, y, this);
      if (usedbuffer) {
            g.drawString("Use Double-Buffering", 100, h / 2);
        }
    }

    void initlodation() {
        x = 0;
        y = 120;
        speed_x = 5;
        speed_y = 0;
    }

    public void update(Graphics g) {
        paint(g);
    }

    public void paint(Graphics g) {
        int w = this.getSize().width;
        int h = this.getSize().height;
      if (offScreen == null && usedbuffer) {
            try {
                offScreenImage = createImage(w, h);
                offScreen = offScreenImage.getGraphics();
            } catch (Exception e) {
                offScreen = null;
            }
        }
      if (offScreen != null) {
            paintingjob(offScreen, w, h);
            g.drawImage(offScreenImage, 0, 0, this);
        }
        else {
            paintingjob(g, w, h);
        }
    }

위의 코드를 아래의 코드에 합치고 싶은데요
위의 코드는 더블 버퍼링을 이용하여 왼쪽부터 오른쪽으로 말을 달리게 한 코드구요

아래 코드는 경마장 5개 트랙중 하나를 나타낸 코드예요
여기선 말이 깜빡이며 오른쪽으로 가게되어요

위의 장점을 이용해서 아래로 합쳐서 돌릴 수 있는 방법이 있을까요??
질문이 난잡해서 죄송합니다 !!




public class TrackPanel2 extends JPanel implements Runnable{
private List list = new ArrayList<>();
private Track track;

public TrackPanel2(Track track) {
list.add(0, 0);
this.track = track;
}

@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Dimension dimension = this.getSize();
g.drawImage(new ImageIcon("img/horse.jpg").getImage(), 0, 0, (int)dimension.getHeight() - 20, (int)dimension.getHeight() - 20,  this);
}

public void setData(int data) {
Graphics g = this.getGraphics();
Dimension dimension = this.getSize();
list.add(1, data);
g.clearRect(list.get(0),  0, (int)dimension.getHeight() - 20, (int)dimension.getHeight() - 20);
g.drawImage(new ImageIcon("img/horse.jpg").getImage(), list.get(1), 0, (int)dimension.getHeight() - 20, (int)dimension.getHeight() - 20,  this);
list.add(0, list.get(1));
}

public void init() {
Graphics g = this.getGraphics();

list.set(0, 0);
list.remove(1);
paintComponent(g);
}

@Override
public void run() {
while(true) {
int pos = track.getList().get(1).getCurPos();
if(pos > 1500) break;
setData(pos);
}
}
}



0


목록
번호 제목 이름 날짜 조회 추천
628 의료/건강의사의 '벌이'에 대한 질문입니다. 35 kpark 15/12/18 5977 0
654 기타우유가 안 들어간 디저트 6 kpark 15/12/22 5133 0
688 IT/컴퓨터핸드폰 구매 트렌드가 궁금합니다. 8 kpark 16/01/04 4557 0
704 IT/컴퓨터모니터 hdmi 연결 질문입니다. 6 kpark 16/01/10 6302 0
774 IT/컴퓨터Binary search tree 문제 6 kpark 16/01/25 8091 0
1084 체육/스포츠(스포츠)금지약물의 효과는 얼마나 오래? 16 kpark 16/05/17 6287 0
1102 IT/컴퓨터수냉식 쿨러 질문입니다. 9 kpark 16/05/22 6203 0
1261 기타넷플릭스 작품 추천해주세요. 21 kpark 16/07/05 5487 0
1451 IT/컴퓨터여러개의 점 최외곽을 연결한 경계선을 그려주는 프로그램? 6 kpark 16/08/26 10193 0
1807 IT/컴퓨터모니터 거치대(높이조절) 추천 부탁드립니다. 2 kpark 16/11/23 5096 0
2753 게임주말에 할 수 있는 RPG 게임 추천 부탁드립니다. 12 kpark 17/05/06 7279 0
3246 기타강아지 사료 질문입니다. 4 kpark 17/08/22 5435 0
4082 IT/컴퓨터가성비 좋은 블루투스 이어폰 추천 부탁드립니다. 10 kpark 18/01/30 6165 0
12675 기타강남 고기집 추천 부탁드립니다 4 kpark 21/12/12 6091 0
2599 IT/컴퓨터컴퓨터 UPGRADE 관련 문의 드립니다. 2 kthhyung 17/04/03 3674 0
7108 IT/컴퓨터카메라 렌즈 좀 알려주세요. 4 Kurtz 19/05/13 3833 0
7444 기타쿨픽스 S4300 모델 질문입니다. 3 Kurtz 19/07/09 4027 0
7922 여행서울 호텔좀 알려주세요. 8 Kurtz 19/09/25 4793 0
7988 여행4년뒤 몰디브 여행을 계획중입니다. 항공권 문의드립니다. 2 Kurtz 19/10/06 4852 0
6421 의료/건강배 꾸루룩거리는게 너무 심해요 2 kylemong 19/01/29 3710 0
10359 진로행복하게 돈 버는법은 뭘까요? 26 kyun 20/10/30 6175 2
2898 의료/건강춘천이나 서울에 괜찮은 정신과 알고 계신 분 있나요? 1 L'Etranger 17/06/14 5868 0
3286 IT/컴퓨터삼성 클라우드 관련 질문드립니다 2 L'Etranger 17/08/28 4377 0
4721 IT/컴퓨터[코딩] 자바 코딩에 관해 질문 드려도 될까요?? (스윙 이미지 움직임 관련) 4 L'Etranger 18/05/30 4966 0
4726 IT/컴퓨터자바 코딩 관련 질문드립니다 ㅜㅜ L'Etranger 18/05/31 4571 0
목록

+ : 최근 2시간내에 달린 댓글
+ : 최근 4시간내에 달린 댓글

댓글