- 질문 게시판입니다.
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


목록
번호 제목 이름 날짜 조회 추천
공지 질문 게시판 이용 규정 11 토비 15/06/19 27985 4
17393 연애알림창의 음악재생알림이 사라짐 2 로비서 26/06/16 151 1
17392 여행미국에서 한국에 갈 일이 생겼습니다. 폰은 어떻게 할까요? 4 Velma Kelly 26/06/15 499 0
17391 IT/컴퓨터티빙 정보유출 관련 3 치즈케이크 26/06/11 554 0
17390 진로집 밖에서 비대면 면접을 볼만한 곳 어디가 있을까요? 8 아재 26/06/09 663 0
17389 가정/육아김치 통 혹은 냉장고 냄새 빼기 8 은하꾸리 26/06/08 550 0
17388 여행제주시에서 저녁에 혼자 자유롭게 이틀정도 시간이 됩니다. 4 [익명] 26/06/07 583 0
17387 여행서울역에 출력할 곳이 있읍니까 11 먹이 26/06/07 544 0
17386 의료/건강30개월 아이 중이염 10 the 26/06/05 569 0
17385 여행부여에서 아이들과 무난하게 먹을만한 식당 추천부탁드립니다. 14 흰긴수염고래 26/06/05 553 0
17384 홍차넷★도와주세요 8 당근매니아 26/06/05 740 1
17383 기타에어컨 구매 가이드 있을까요? 6 영원한초보 26/06/04 504 0
17382 의료/건강자살시도 의심되는 한국에 있는 타인 신고 방법 (해외) 5 소요 26/06/03 1018 0
17381 IT/컴퓨터AI 구독을 어떤걸로 해야할지 모르겠어요... 10 dongri 26/06/02 803 0
17380 의료/건강생산사춘 소비기한 2026-04-22 마시면 안될까요? 6 영원한초보 26/05/30 745 0
17379 기타이런 바디로션이 있을까요? 하얀달걀 26/05/30 545 0
17378 경제지금부터 하락장을 대비한다고 하면 가장 메이저한건 무엇일까요? 27 전투용밀감 26/05/29 1506 0
17377 기타면도크림 추천 부탁드립니다. 4 Picard 26/05/28 493 0
17375 여행제주도 리조트 추천 부탁드립니다. 9 Darwin4078 26/05/27 638 0
17374 철학/종교불교는 왜 부처님오신날을 기념합니까..? 7 매뉴물있뉴 26/05/23 1138 0
17373 기타칫솔 질문입니다 6 김치찌개 26/05/22 609 0
17372 법률회의의 일반적인 의결 정족수 23 GogoGo 26/05/21 890 0
17371 IT/컴퓨터한성키보드 키캡 교체 질문 15 RiseNShine 26/05/21 619 0
17370 IT/컴퓨터[해결] 짤줍 - 이미지 경로가 올바르지 않습니다? 7 Velma Kelly 26/05/21 432 0
17369 IT/컴퓨터갤럭시탭 중고를 사려는데 어떤게 좋을까요 9 DogSound-_-* 26/05/20 558 0
목록

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