- 질문 게시판입니다.
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 25229 4
16840 기타복도식 아파트에 가스관에 우산 거치 괜찮은건가요? 4 + 알로에비누 25/07/06 487 0
16839 의료/건강남성 니플패치 추천 부탁드려요 5 [익명] 25/07/06 277 0
16838 과학수능이나 모고 같이 평가원 주관인 시험에서 8 물리물리 25/07/05 454 0
16837 기타출퇴근 가방 추천 받고 싶어요... 26 + dongri 25/07/05 597 0
16836 체육/스포츠러닝할 때 급수 방법? 11 두부곰 25/07/05 442 0
16835 기타서울에서 다양한 전통주를 취급하는 매장을 추천 부탁드립니다. 23 자공진 25/07/04 581 0
16834 홍차넷홍차넷 제재 풀리는건 수동입니까 9 노는꿀벌 25/07/04 503 0
16833 댓글잠금 IT/컴퓨터아이폰 문자 내보내기 기능 1 [익명] 25/07/04 350 0
16832 기타인테리어 관련 고민이 있습니다 12 당근매니아 25/07/03 395 1
16831 기타서울에서 가족사진 촬영 잘하는 곳을 알고 싶어요! 4 + Klopp 25/07/03 243 0
16830 기타인테리어 중문 질문드려요 2 어둠달골짜기 25/07/02 370 0
16829 경제내집마련디딤돌 대출 질문 11 [익명] 25/07/01 553 0
16828 의료/건강아버지께서 당뇨에 걸리셔서 고민입니다... 5 빈U 25/06/30 687 0
16827 기타주류 보관 및 음용 타이밍 등 질문드려요. 4 wwe13kane 25/06/29 407 0
16826 문화/예술요즘 한국 음악 생태계 질문? 2 영원한초보 25/06/29 405 0
16825 연애남자친구와의 이별을 고민 중입니다. 50 깍두기 25/06/28 1755 0
16824 기타영어학습용으로 스픽 결제해서 쓸만한지요? 6 홍당무 25/06/27 536 0
16823 연애김이 식은 프로포즈를 어떻게 해야 감동있게 만들수 있을까요? 23 [익명] 25/06/27 859 0
16822 가정/육아부모님 핸드폰 청약철회 맟 번호이동 관련 문의드립니다 3 G.a. 25/06/26 334 0
16821 가정/육아선물할 그릇 추천해주세요! 40 니나 25/06/26 687 2
16820 가정/육아동생과의 관계를 어떻게 해야 할까요? 15 [익명] 25/06/26 873 0
16819 법률지인이 필라테스 먹튀당했는데요... 4 [익명] 25/06/25 807 0
16817 가정/육아후라이팬 및 냄비 세척 8 은하꾸리 25/06/25 559 0
16816 법률너무 답답하고 궁금해서 글 올립니다. -카촬죄- 9 [익명] 25/06/24 1004 0
목록

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

댓글