- 질문 게시판입니다.
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 25375 4
16894 여행동경 전문가 선생님들 (나다. 하면 들어오십시오) 2 + Mandarin 25/07/25 91 0
16893 여행인천(송도)부근 실내에서 놀만한 데 있을까요? 3 아파 25/07/24 164 0
16892 기타동기부여 하는 방법? 7 송꽃분 25/07/24 320 0
16891 문화/예술최대한 한로로를 편하게 가까이서 볼 방법은 뭐일까요! 13 + 골든햄스 25/07/23 391 0
16890 법률세금명의도용? 확인에 대해서(홈택스) 2 [익명] 25/07/23 159 0
16889 여행벳부 여행 다녀오신분들께 질문 드립니다. 14 쉬군 25/07/23 208 0
16888 문화/예술무성애적 성향과 무성애자 21 [익명] 25/07/22 830 0
16887 체육/스포츠여름에 하는 운동 6 송꽃분 25/07/22 311 0
16886 경제부동산 매매시 판매대금을 올려서 계약요구를 합니다 15 DogSound-_-* 25/07/21 718 0
16885 기타서울 및 고양 인근 돼지고기집 추천 바랍니다. 7 니르바나 25/07/21 384 0
16884 IT/컴퓨터호옥시 speechify 레퍼런스코드 있으신분 계십니가..? 3 25/07/21 277 0
16883 여행여행용 트레블로그 체크카드를 하나 만드려 합니다 11 Cascade 25/07/21 589 0
16882 기타정신과를 꾸준히 다니면서 +암보험 등 가입한 경우 있으신가요? 3 [익명] 25/07/20 449 0
16881 기타스벅 25.7.20까지 라코스테수건 프리퀀시 전국 증정품획득 불가능한가요? 7 mathematicgirl 25/07/20 484 0
16880 기타지방소득세가 무엇인지요..? 11 홍당무 25/07/19 725 0
16879 기타인터넷 약정기간 기망, 민원 어디로 넣어야 하나요 2 방사능홍차 25/07/18 473 0
16878 의료/건강물리치료기 추천부탁드립니다 1 잔고부자 25/07/18 237 0
16877 IT/컴퓨터휴대 전화를 바꿔야 할 시기가 온 걸까요? 16 알로에비누 25/07/18 566 0
16876 기타학연에 의한 청탁, 어떻게 끊어내시나요? 6 [익명] 25/07/18 654 0
16875 여행오늘 철원에서 래프팅 할 수 있을까요? 15 오쇼 라즈니쉬 25/07/18 568 0
16874 법률세금 경정청구 방법과 세무사 업무 비용 6 [익명] 25/07/17 428 0
16873 의료/건강면역력회복! 원기충전! 하는 꿀팁 있을까요? 27 오리꽥 25/07/17 642 0
16872 게임쿠팡에서나 닌텐도 공홈 이나 마리오카트 스위치2 가격 동일한데 무슨 차이인가요? 2 mathematicgirl 25/07/16 535 0
16871 여행맛집 추천 부탁드립니다.(서울 지도첨부) 23 연구개발 25/07/15 582 0
목록

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

댓글