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


목록
번호 제목 이름 날짜 조회 추천
1444 문화/예술따뜻한 색채에, 격정적 갈등이 없는 만화가 있을까요? 42 Ben사랑 16/08/23 4629 0
10161 기타여자화장품 남자가 발라도 상관 없는지요...? 5 [익명] 20/09/22 4629 0
13758 진로86인치급 대형티비 사신분들 질문입니다. 9 하우두유두 22/08/16 4629 0
4726 IT/컴퓨터자바 코딩 관련 질문드립니다 ㅜㅜ L'Etranger 18/05/31 4628 0
6043 IT/컴퓨터usb메모리/카드리더기/otg 쿠바왕 18/12/07 4628 0
9457 가정/육아에어컨을 구매해야 합니다. 16 RedSkai 20/05/21 4628 0
415 의료/건강눈이 안좋은 것 같습니다 2 헬리제의우울 15/11/04 4627 0
10355 진로국내/해외대학원과 군 문제, 어떻게 하는게 좋을까요 9 [익명] 20/10/30 4627 0
15055 여행대전 3박4일 여행가는데 뭘 하면 좋을까요? 28 Cascade 23/07/19 4627 0
1509 기타제일 맛있다고 생각하는 아스크림 브랜드가 뭔가요 34 팅핑랩썬브클 16/09/12 4626 0
3585 가정/육아남동생과의 관계질문입니다. 7 [익명] 17/10/28 4626 0
3511 IT/컴퓨터아이폰 사진편집 어플 추천 부탁드립니다 2 다람쥐 17/10/14 4626 0
10420 기타세탁기 전원 꽂을 때 스파크 같은게 일어납니다. 3 [익명] 20/11/09 4625 0
13575 IT/컴퓨터외장하드 추천 부탁드리겠습니다. 7 kadoong 22/07/03 4624 0
4084 교육과외비를 얼마나 받아야 할까요? 5 [익명] 18/01/31 4623 0
9929 기타아이패드 질문입니다 2 김치찌개 20/08/12 4623 0
10328 진로허위 경력 기재? 12 [익명] 20/10/26 4623 0
10710 기타유튜브 동영상에 이런 얼굴 이미지 이용은 어떻게 하는 것인지요..? 3 [익명] 20/12/25 4623 0
613 기타신년회 모일 만한 장소를 찾습니다. 1 모선 15/12/16 4622 0
5287 기타할일 추천좀 8 헬리제의우울 18/08/19 4622 0
6130 기타옷을 많이 사고 싶어요. 10 태정이 18/12/21 4622 0
6142 여행대구 서울 그외 분들 질문드립니다. 4 DogSound-_-* 18/12/24 4622 0
7073 교육강의용 무선마이크가 필요합니다. OshiN 19/05/07 4622 0
11040 의료/건강잇몸이 안좋아서 그러는데요. [익명] 21/02/15 4622 0
15498 경제8억 정도의 여윳돈을 어떻게 보관하는 게 좋을까요? 35 [익명] 24/01/02 4622 0
목록

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