- 질문 게시판입니다.
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 23491 4
16245 문화/예술가수를 찾습니다. 3 OshiN 24/11/02 283 0
16244 문화/예술어렵지않고 재밌는 책 추천 부탁드립니다 7 + 오늘 24/11/02 309 0
16243 IT/컴퓨터무선 공유기 교체에 대한 질문. 인터넷 전문가 선생님들 도와줘요! 17 Mandarin 24/11/01 304 0
16242 기타맛집 추천 좀... 7 + 먹이 24/11/01 377 0
16241 기타본가에서 고기 받아왔는데 무슨 부위같나요? 7 OneV 24/10/30 617 0
16240 체육/스포츠영업 목적 골프 입문하려고 합니다. 10 [익명] 24/10/30 449 0
16239 의료/건강액상철분제 추천 부탁드립니다. 2 Omnic 24/10/30 190 0
16238 연애이건 건강한 관계가 아니겠죠..? 31 [익명] 24/10/30 977 0
16237 문화/예술호옥시 USB-c타입의 이어폰 추천해주실수 있으실까요? 5 허윤진남편 24/10/29 326 0
16236 기타인간사료 추천 부탁드립니다. 12 dolmusa 24/10/29 528 0
16235 기타저는 청약저축을 가지고 있습니다... 4 침묵의공처가 24/10/29 334 0
16234 IT/컴퓨터(네이버, 카카오) 자동로그인이 자꾸 풀려요 wwe13kane 24/10/29 203 0
16233 경제청약통장 계속 가지고 있는게 맞을까요 7 RedSkai 24/10/29 435 0
16232 기타내솥 걷고 쌀 부어서 질문 3 활활태워라 24/10/29 283 0
16231 IT/컴퓨터도와줘요 컴퓨터 PC 스피커 전문가 선생님들! 31 Mandarin 24/10/29 477 0
16230 진로사회복지사는 직업으로서 어떤가요? 8 [익명] 24/10/28 559 0
16229 가정/육아수원 갈비 집 추천부탁드립니다. 6 유아 24/10/28 260 0
16228 경제금 관련 투자 방법 7 방사능홍차 24/10/28 426 0
16227 기타중고 티비 포장 17 Beemo 24/10/27 414 0
16226 문화/예술억지로라도 기분 좋아지는 노래 추천 부탁드립니다. 18 오구 24/10/27 457 1
16225 IT/컴퓨터stove 사이트에 로그인을 못하고 있습니다. (해결완료) 13 어제내린비 24/10/26 506 0
16224 기타플라스틱 통을 구해야 합니다. 6 오구 24/10/24 535 0
16223 경제29살, 자산관리를 어떻게 해야될지 고민입니다. 37 딘무지 24/10/24 1021 0
16222 IT/컴퓨터 Iot 입문을 위해 라즈베리4를 주문했습니다. 13 똘빼 24/10/24 425 0
목록

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

댓글