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


목록
번호 제목 이름 날짜 조회 추천
2117 기타신용카드 추천 좀... 14 레지엔 17/01/17 4317 1
1798 의료/건강종합비타민 질문이요~ 4 bee 16/11/21 4317 0
5651 IT/컴퓨터폰 카메라가 흔들흔들해요 3 초이 18/10/13 4317 0
6043 IT/컴퓨터usb메모리/카드리더기/otg 쿠바왕 18/12/07 4317 0
8099 여행부산 서면/센텀시티 쪽 브런치? 4 소다맛체리 19/10/24 4317 0
14742 경제전세사기 대비는 어떻게해야할까요..? 18 [익명] 23/04/27 4317 0
14879 게임본인만의 효율적인 정리,청소 습관 공유해주세요! 33 똘빼 23/06/02 4317 0
1696 기타우리말에서 어머어머? 47 까페레인 16/10/28 4318 0
6169 의료/건강족저근막염 완치는 어떻게 알수 있나요? 6 2032.03.26 18/12/27 4318 0
9083 연애연애의 좋은점은 무엇일까요? 12 [익명] 20/03/30 4319 0
11681 댓글잠금 기타욕조와 싱크대가 동시에 막혔습니다. 8 [익명] 21/06/07 4319 0
646 IT/컴퓨터크롬에서 한자가 보이지 않습니다. 4 No.42 15/12/21 4320 0
7309 IT/컴퓨터저가 노트북 추천 부탁드러요 6 김독자 19/06/14 4320 0
7328 가정/육아진지하게... 퇴사해야 할까요 견뎌야 할까요? 18 [익명] 19/06/17 4320 0
2379 가정/육아신혼부부 다리미 선물 뭐가 좋을까요? 12 눈시 17/02/22 4321 0
8728 의료/건강남자 머리카락 관리에 관한 질문입니다. 12 불타는밀밭 20/02/03 4321 0
9341 법률편의점 근무 중 폭행을 당했습니다. 2 [익명] 20/05/05 4321 0
14165 IT/컴퓨터연세대 부근에서 c-type 급속 충전기 싸게 구하는 방법 아시는분 2 mathematicgirl 22/11/21 4321 0
3648 기타ㅠㅠ 안구건조증에 좋은거 없나요 8 오늘꿍꾸 17/11/06 4322 0
11217 의료/건강다이어트 초고수분들 글좀 봐주십쇼.. 7 [익명] 21/03/21 4322 0
3756 기타운동용 블루투스 이어폰 추천 부탁드립니다! 2 Groenland 17/11/28 4323 1
5653 교육영어 문장 질문 6 DarkcircleX 18/10/14 4323 0
6297 IT/컴퓨터노트9 구매 직전입니다 색상 추천 받아요 5 HeatWade 19/01/13 4323 0
9946 기타문신스티커 지우는 방법 아시는분 계신가요? 6 [익명] 20/08/15 4323 0
12334 경제저의 재정상태+미래집구하기에 대해서 조언해줄 어르신횐님을 찾아여 74 흑마법사 21/09/28 4323 0
목록

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

댓글