- 질문 게시판입니다.
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 27284 4
17275 여행후쿠오카~유후인 이동시 질문 11 whenyouinRome... 26/03/17 268 0
17274 IT/컴퓨터소모품 교체주기 관리앱 업데이트 해왔습니다 ! sharony 26/03/16 189 0
17273 문화/예술책을 찾습니다 2 호미밭의파스꾼 26/03/14 336 0
17272 여행미야코지마 여행 문의 2 2026(2025) 26/03/14 354 0
17271 여행3월말 동남아 휴양여행지(혼여) 추천부탁드립니다 23 even&odds 26/03/13 631 0
17270 기타인터넷,TV 질문입니다 4 김치찌개 26/03/12 284 0
17269 여행유럽(독일) 렌터카 문의 7 Picard 26/03/12 329 0
17268 여행여기는 가 봐도 별것 없겠지요? (매향항 부근) 3 트랜스메타 26/03/11 594 0
17267 기타이 건물 삼성타운 건물인가요? 8 풀잎 26/03/09 774 0
17266 법률회사 대표의 배우자(여성, 직원)은 출산 휴가나 육아 휴직 못 쓰나요? 6 [익명] 26/03/09 874 0
17265 의료/건강얇고 긴 변 또는 설사를 다시 굵게 만들 방법 없을까요? 7 활활태워라 26/03/08 741 0
17264 게임쵸딩이 할만한 비행기 게임? 16 2025(2025) 26/03/08 655 0
17263 기타융한스 시계 수리를 어디서 해야하나요? 5 2025(2025) 26/03/07 538 0
17262 여행김해공항 사설주차장 이용해 보신분 있을까요? 18 reika 26/03/06 565 0
17261 기타저번에 의견 주신 '소모품 관리 앱' 진짜로 만들어 왔습니다! 8 sharony 26/03/03 884 8
17260 의료/건강출산 생각이 있는 경우 어떤 탈모약을 복용하는 게 좋을까요? 15 [익명] 26/02/27 1143 0
17259 기타침대 매트리스 어떤 제품 많이 사용하시는지요...? 6 홍당무 26/02/27 636 0
17258 연애예비 배우자의 고양이 문제 26 [익명] 26/02/27 1311 0
17257 IT/컴퓨터직장인들이 많이 쓰는 서류 양식 모아두는 사이트 어떤가요 ? 3 sharony 26/02/26 730 0
17256 여행남부터미널 예매는 다른 사람에게 보내줄 수 없나요? 5 영원한초보 26/02/26 685 0
17255 댓글잠금 기타유머글 찾습니다.. 4 [익명] 26/02/25 737 0
17254 가정/육아전북 가족여행 5 반대칭고양이 26/02/25 508 0
17253 경제3차 상법 개정안으로 인해 경영진이 어떻게 대처 할지 양상이 궁금합니다. (제목수정했습니다) 13 내일로가는문 26/02/24 877 0
17252 가정/육아창문형 에어컨 어디다 설치하는게 좋을까요? 16 DogSound-_-* 26/02/23 581 0
목록

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

댓글