- 질문 게시판입니다.
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 23704 4
16350 게임Xbox 게임패스 삭제 문의 3 whenyouinRome... 24/12/03 202 0
16349 연애헤어진지 1년 반이 지났는데요... 13 [익명] 24/12/02 1009 0
16348 게임어쎄신크리드 에디션 구입 질문~! 4 whenyouinRome... 24/12/02 152 0
16347 기타마케팅에 대해 궁금한 점이 있습니다. 8 분투 24/12/02 447 0
16346 법률딸배헌터식 장애인주차표지 부정사용 신고 및 고발 방법? 5 Groot 24/12/02 494 1
16345 법률좋소기업은 노무/법무를 어떻게 해결하나요? 9 [익명] 24/12/01 614 0
16344 의료/건강약혐)조영제 라인잡은 곳 피멍 격자무늬 4 왕킹멍 24/12/01 464 0
16343 IT/컴퓨터컴퓨터를 사야 합니다. 추천 바랍니다. 16 Darwin4078 24/12/01 375 0
16342 연애예물시계 투표 받습니다 20 danielbard 24/12/01 609 0
16341 체육/스포츠주말껴서 2박 3일로 골프여행간다면 3 전봉삼 24/12/01 236 0
16340 가정/육아침대 프레임 철제vs목재 3 린디합도그 24/11/30 333 0
16339 여행푸꾸옥 여행 숙소/항공 팁? 9 마술사 24/11/29 439 1
16338 게임아이와 할만한 제가 원하는 방식의 게임이 있을까요? (동물원, 공룡테마파크 만들기) 11 쉬군 24/11/28 500 0
16337 진로뒤늦게 로스쿨을 갈까 싶습니다 14 [익명] 24/11/28 1053 0
16336 경제롯데타워가 담보로 잡히고... 3 플립이 24/11/28 499 0
16335 기타친구들보다 좋은 직장에 들어갔는데, 태도를 어떻게 해야할까요? 13 [익명] 24/11/28 706 0
16334 여행아스퍼거 주의집중력 , 심각한 불면증을 위한 홍콩 여행? 5 [익명] 24/11/28 521 0
16333 기타싱크대 누수의 경우 어떤 업체에 연락하나요? 9 골든햄스 24/11/27 374 0
16332 IT/컴퓨터가족끼리 쓰기 좋은 메신저 추천 부탁드립니다. 8 똘빼 24/11/27 440 0
16331 IT/컴퓨터노트북을 사야 하읍니다!! 11 Groot 24/11/27 514 0
16330 연애"여자가 남자한테 귀엽다?" 후속 질문입니다 20 [익명] 24/11/26 1159 0
16329 경제7-8억 정도를 투자하려하는데 조언을 듣고자 합니다. 6 [익명] 24/11/26 719 0
16328 여행부산 괌 새벽 비행기 관련 질문입니다. 5 Xeri 24/11/26 316 0
16327 기타이 재택근무 업무 사기일까요 진짜일까요? 10 [익명] 24/11/26 758 0
목록

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

댓글