- 질문 게시판입니다.
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 23595 4
16311 문화/예술안 읽히지만 좋은 책 추천 받읍니다 15 + 빈둥 24/11/22 307 2
16310 가정/육아대학원 동기 출산 선물 12 카르스 24/11/21 350 0
16308 경제부동산 투자 어떻게 공부하면 좋을까요 4 열한시육분 24/11/21 303 0
16307 법률소액사기 신고를 하고 싶습니다. 6 whenyouinRome... 24/11/21 383 0
16306 교육통계/데이터과학 공부하는 방법 6 [익명] 24/11/21 321 0
16305 기타차량에 사제 어라운드뷰 설치해보신 분 계실까요? 7 쉬군 24/11/20 353 0
16304 여행이번주 토요일 오후 단풍, 은행 명소는 어디일까요? 3 化神 24/11/20 238 0
16303 문화/예술근본 있는(?) 추리소설을 추천해 주세요 20 호미밭의파스꾼 24/11/20 433 0
16302 IT/컴퓨터영상 코덱 관련 질문 드립니다..! 4 햄볶는돼지 24/11/19 150 0
16301 IT/컴퓨터빽빽히 내용이 채워진 엑셀파일 출력본을 OCR로 인식하고 싶습니다. 2 FTHR컨설팅 24/11/19 312 0
16300 진로스스로 하고싶지만서도 타인한테 기대고 싶기도 합니다. 9 활활태워라 24/11/19 481 0
16299 경제행복주택에 살고 있는 중인데 영구임대주택에 당첨되었습니다. 17 [익명] 24/11/18 896 0
16298 의료/건강손이 저립니다 7 린디합도그 24/11/18 408 0
16297 기타밀도 있게 일하는 법은 무엇일까요? 3 데굴데굴 24/11/18 443 1
16296 기타디지털 피아노 혹시 아시는 분 있을까요? 18 TEMPLATE 24/11/18 397 0
16295 IT/컴퓨터조금 시끄러운 환경에서 쓸 수 있는 화상회의용 이어폰을 찾고 있습니다. 2 이러사우호 24/11/18 261 0
16294 기타자동차 보험은 한 회사로 쭉 가는게 나은 건가요? 13 퍼그 24/11/18 427 0
16293 IT/컴퓨터400 Bad Request No required SSL certificate was sent 해결방법 있을까요? 4 활활태워라 24/11/18 289 0
16292 체육/스포츠트레드밀에서 쓸 러닝화 뭐가 좋을까요? 6 blu 24/11/17 323 0
16291 IT/컴퓨터개인용 오피스365+원드라이브 유지 어떤 방법이 경제적인가요? 5 열한시육분 24/11/17 397 0
16290 교육토플 vs. 아이엘츠 9 말하는감자 24/11/16 458 0
16289 의료/건강아이에게 녹용 복용을 고려중입니다 15 T.Robin 24/11/15 683 0
16288 IT/컴퓨터테블릿 좀 추천 부탁드리읍니다. 19 24/11/15 457 0
16287 가정/육아와이프가 슬슬 출산가방 준비하라고 하는데... 14 알탈 24/11/14 667 0
목록

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

댓글