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


목록
번호 제목 이름 날짜 조회 추천
12862 홍차넷탐라 첨부파일에 jpg, gif 외에 mov도 첨부되네요? 1 Groot 22/01/20 3369 0
13396 기타광주광역시 상무1동에서 가볼만한곳 있을까요? 8 하우두유두 22/05/20 3369 0
6210 여행해외여행 가는데 환전을 너무 많이 했습니다. 6 어리버리질럿 19/01/02 3368 0
6225 진로진로문제 고민 [댓글잠금] 11 곰돌이우유 19/01/04 3368 0
11796 게임디아 3 캐릭터 세팅 볼 수 있는데가 어디 없을까요? 5 불타는밀밭 21/06/28 3368 0
11994 여행여름휴가 무엇을 할 것인가에 대해 도움요청합니다! 11 나루 21/08/04 3368 0
12212 의료/건강정신과에서도 상담 잘 해주나요? 19 [익명] 21/09/07 3368 0
13007 기타백화점 가볼만한 곳 추천 좀 부탁드립니다 (방문 완료) 8 Alynna 22/02/22 3368 0
9318 기타사업을 하면 돈을 많이 버는지요...? 4 [익명] 20/05/02 3367 0
9690 의료/건강심리상담을 종료할까 생각합니다. 6 [익명] 20/06/30 3367 0
12931 의료/건강코로나 자가키트 2 셀레네 22/02/05 3367 0
532 IT/컴퓨터IT/컴퓨터 카테고리 위주로 보는 유저입니다. 9 레코드 15/11/26 3366 0
1114 의료/건강결절종 수술 관련 문의 드립니다 4 Rationale 16/05/25 3366 0
2156 기타시그마플로 생잉크 네임펜으로 싸인받을 수 있나요? 2 베누진A 17/01/21 3366 0
3878 기타서울 을지로쪽에 3달 묵으려면 16 [익명] 17/12/21 3366 0
4620 문화/예술볼만한 영상물 추천해주세요 16 길거리종자 18/05/12 3366 0
1178 가정/육아은행 추천좀 해주세요. 4 소노다 우미 16/06/10 3365 0
13087 법률주거침입에 해당될 수 있는지 궁금합니다 3 [익명] 22/03/10 3365 0
13560 기타메신저백이나 브리프케이스?같은 걸 찾고 있습니다 13 Otaku 22/06/29 3365 1
13739 기타중고차 구매를 앞두고 있습니다. 조언 부탁드립니다. 42 Profit(Profit) 22/08/11 3365 0
2655 가정/육아한 여름에 임신 중기에 갈만한 여행 장소 없을까요? 5 아재 17/04/14 3364 0
3921 가정/육아장어탕에 고사리 넣어도 되까여? 4 tannenbaum 18/01/01 3364 0
4756 체육/스포츠현 한국국대에게 전성기 외국선수 1명을 넣는다면? 38 오리꽥 18/06/05 3364 0
5021 의료/건강여름철 아이들 상처 덧난건 어떻게 해야할까요? 1 기쁨평안 18/07/11 3364 0
5651 IT/컴퓨터폰 카메라가 흔들흔들해요 3 초이 18/10/13 3364 0
목록

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

댓글