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


목록
번호 제목 이름 날짜 조회 추천
10334 의료/건강지금 백신 맞아야 하나요? 11 [익명] 20/10/27 4301 0
11866 기타중고차 구입 질문 8 J_Square 21/07/09 4301 0
1110 의료/건강류마티스관절염에 대한 질문이 있습니다. 6 바라는대로 16/05/24 4302 0
4417 의료/건강디스크환자 운동 추천부탁드립니다 4 Morpheus 18/04/06 4302 0
5499 문화/예술삼국지에서 조조가 정말로 배신자를 싫어했나요? 9 덕후나이트 18/09/21 4302 0
5757 기타결혼 축의 질문 8 DogSound-_-* 18/10/27 4302 0
8667 연애마음까지 가난해지는 느낌이 들 때... 7 [익명] 20/01/23 4302 0
12070 IT/컴퓨터아이패드 구매 질문드립니다. 8 기린 21/08/17 4302 0
523 기타쌍문동 방면 맛집 추천 부탁드립니다. 4 구밀복검 15/11/24 4303 0
8716 기타이사 질문입니다 3 김치찌개 20/02/02 4303 0
9994 의료/건강코로나19가 유행하는 시기.. 궁금합니다. 3 이솔렛 20/08/23 4303 0
10991 가정/육아설날에 가족 모임 어떻게 대처하는게 가장 현명할까요?? 7 [익명] 21/02/08 4303 0
11076 법률책상을 주문제작 했는데 문제가 생겼습니다. [익명] 21/02/21 4303 0
11718 문화/예술술을 다룬 일본영화를 찾습니다. 3 코리몬테아스 21/06/12 4303 0
2731 여행오사카 스시집 질문입니다. versa 17/04/30 4304 0
4315 IT/컴퓨터정규표현식 질문입니다. 6 Toby 18/03/20 4304 0
5817 의료/건강인천 프로스카 복제약 처방 해주는 곳 없나요? 1 사람사람 18/11/04 4304 0
10154 의료/건강다리가 아픕니답 6 DogSound-_-* 20/09/21 4304 0
11762 법률월세 계약시 주의사항 질문입니다 9 거소 21/06/22 4304 0
3504 IT/컴퓨터갤럭시->아이폰으로 갈아탈시의 불편함 12 신나라 17/10/13 4305 0
4543 연애인천/서울/충남/경기/대전 지역 눈썹문신추천 1 DogSound-_-* 18/04/29 4305 0
7916 법률공수처가 대체 어떤 기관인가요? 8 원영사랑 19/09/24 4305 1
9627 경제주식투자 고수분들, 특정 조건으로 종목 검색 가능한가요? 2 Brown&Cony 20/06/20 4305 1
13773 과학알 콰리즈미의 jadhr 개념이 궁금합니다 4 몸맘 22/08/21 4305 0
12575 의료/건강보험 관련 암진단내역서 수정이 가능할까요? 1 [익명] 21/11/16 4305 0
목록

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

댓글