- 질문 게시판입니다.
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 26410 4
17141 IT/컴퓨터Tahoe 26.1 맥북프로 os 변경후 이게 안되요 도움! 8 mathematicgirl 25/12/05 194 0
17140 가정/육아세계명작동화, 전래동화 7 오쇼 라즈니쉬 25/12/04 225 0
17139 의료/건강탁상용 가습기 추천 부탁드릴게요 2 영원한초보 25/12/04 155 0
17138 의료/건강중1 딸이 평발인데요, 11 늘쩡 25/12/03 466 0
17137 진로부동산을 공부할 수 있을 만한 방법에 대한 문의 1 세이치즈 25/12/03 352 0
17136 댓글잠금 과학가정 내 유무선 인터넷 설치 질문 3 [익명] 25/12/02 350 0
17134 IT/컴퓨터아이클라우드 유료구독 쓰시는 분들에게 질문 12 swear 25/12/02 397 0
17133 법률학원강사가 사업자계약으로 3.3%만 뗀 월급을 받아왔는데 사대보험 소급가입이 가능할까요? 5 [익명] 25/12/02 557 0
17132 경제아파트 조합원 잔금 대출 관련 질문 드립니다. 2 [익명] 25/12/02 299 0
17131 기타법률넷에 자녀 학폭 관련 문제 상담 드립니다. 9 [익명] 25/12/01 658 0
17129 IT/컴퓨터쿠팡에서 혹시 로그인후 로그인 기록 보는 방법? 3 mathematicgirl 25/12/01 478 0
17127 의료/건강이 어지러움의 원인은 뭘까요? 4 에밀 25/12/01 304 0
17126 문화/예술하나의 작품만 반복해서 보게 됩니다. 22 [익명] 25/11/30 742 0
17124 기타이 영상자료는 어떻게 만든 것일까요? 7 홍당무 25/11/29 591 0
17123 여행10살 딸과의 일본여행 조언/팁 부탁드립니다. 14 shadowtaki 25/11/28 639 0
17122 의료/건강대학병원에서 받은 약 처분 어떻게 하나요? 12 JUFAFA 25/11/27 650 0
17121 진로개발자 이직질문입니다. 4 [익명] 25/11/27 438 0
17120 기타겨울 타이어 올웨더 vs 윈터? 뭐로 끼울까요? 11 다람쥐 25/11/26 587 0
17118 법률손가락을 제대로 못 쓰다. 16 맥주만땅 25/11/26 721 0
17117 의료/건강비뇨기과 진료 관련 7 [익명] 25/11/26 419 0
17116 가정/육아캠핑 용품 문의 13 Beemo 25/11/23 551 0
17115 기타미국 차 번호판?? 7 Groot 25/11/21 618 0
17114 교육중학교 가는 아이 홈스쿨링 학습지 어떤게 좋을까요?? 2 whenyouinRome... 25/11/20 551 0
17113 문화/예술더글로리의 하도영, 스토브리그의 백승수 8 연구개발 25/11/20 771 0
목록

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

댓글