- 질문 게시판입니다.
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 27476 4
17305 IT/컴퓨터데스크탑 PC 판매 적정가격 / 판매 방법 2 Bettersuweet 26/04/05 325 0
17304 여행부산락페스티벌 숙소 추천 부탁드립니다 13 늘쩡 26/04/03 421 0
17303 의료/건강양압기를 사용해보고싶습니다. 12 똘빼 26/04/03 644 0
17302 IT/컴퓨터숫자를 입력하면 읽어주는 PC 프로그램이 필요합니다 52 *alchemist* 26/04/02 888 0
17301 여행2주 동안 부산 갑니다. 42 mime 26/04/02 597 0
17300 경제청약통장 질문입니다 3 헬리제의우울 26/04/01 325 0
17298 기타안전거래 오류에 대해서. 8 야얌 26/03/31 436 0
17297 기타타이어 사이드월 손상 교체해야 하나요? 8 방사능홍차 26/03/31 483 0
17296 의료/건강배탈이 잘 나고 장이 안좋은 사람이 먹기 좋은 건강식품이 뭐가 있을까요?? 34 Broccoli 26/03/30 762 0
17295 경제중고차 둘 중 어떤 게 나을까요? 8 wwe13kane 26/03/30 497 0
17294 여행여행 경로상 밥 먹을곳 추천드립니다.(해결) 6 Omnic 26/03/28 478 0
17293 기타아이폰8p, 15pro, 갤럭시S25 중 2대를 남긴다면 무엇을 버리시겠습니까? 6 여행자 26/03/27 529 0
17291 IT/컴퓨터회사에서 개발 분야에 ai 어케 사용하십니까 7 2026 26/03/26 640 1
17290 의료/건강원룸에만 들어오면 속이 너무 안좋습니다. 8 활활태워라 26/03/26 787 0
17289 기타글라스루프 차량 진한 선팅vs물리 차단막 추천 15 다람쥐 26/03/26 488 0
17288 체육/스포츠등산용품 추천 요청드립니다. 12 나루 26/03/25 384 0
17287 여행대구 놀러갑니다 37 Cascade 26/03/25 818 1
17285 IT/컴퓨터직장인들을 위한 무료 업무 도구 (퇴직금 계산기, 견적서 생성기 등) 웹서비스 만들어왔습니다 ! 2 sharony 26/03/23 810 2
17284 법률HUG 나 SGI 보증보험에 관한 질문입니다. 1 루루얍 26/03/23 488 0
17283 체육/스포츠달리기 물집 23 kaestro 26/03/22 681 0
17282 가정/육아형제끼리 너무 성격이 안 맞아서요 14 [익명] 26/03/22 1176 0
17281 여행청주 맛집 추천 받습니다. 4 맥주만땅 26/03/20 492 0
17280 IT/컴퓨터국내 obsidian 커뮤니티가 어디가 있을까요? 3 스톤위키 26/03/20 712 0
17279 IT/컴퓨터크롬 브라우저의 '인터넷 사용 기록 삭제' 옵션? 1 달씨 26/03/19 522 0
목록

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

댓글