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


목록
번호 제목 이름 날짜 조회 추천
4960 IT/컴퓨터SKT 기기변경센터? 3 OshiN 18/07/03 7965 0
4941 IT/컴퓨터방별로 랜선을 통해 인터넷을 하려고 합니다! 11 녹차밭 18/07/02 14967 0
4938 IT/컴퓨터옥외용 디지털 사이니지 내부 디바이스? 4 메존일각 18/07/02 3748 0
4936 IT/컴퓨터갤럭시탭 S3는 휴대용 PDF 뷰어로 쓸만한가요? 2 메존일각 18/07/01 5186 0
4931 IT/컴퓨터블루레이용 모니터/TV 추천해 주세요 1 커피중독자 18/07/01 3893 0
4920 IT/컴퓨터네이버 검색 안 쓰시는 분 계신가요? 21 진 세이파츠 18/06/29 4496 0
4912 IT/컴퓨터특정 사이트에서 ERR_CONNECTION_RESET 오류가 뜹니다. 2 바코드 18/06/26 37356 0
4911 IT/컴퓨터한글(워드프로세서) 능력자분께 질문 드립니다. 2 [익명] 18/06/26 2791 0
4910 IT/컴퓨터윈도우 바탕화면 질문입니다. 10 우주최강귀욤섹시 18/06/26 6199 0
4906 IT/컴퓨터삼성패스가 안됩니다 4 [익명] 18/06/25 5675 0
4899 IT/컴퓨터Kt 인터넷 질문입니다 1 [익명] 18/06/25 2805 0
4895 IT/컴퓨터배그 돌아가는 노트북보다는 본체+싼 노트북이 낫겠죠? 4 빠독이 18/06/25 5621 0
4858 IT/컴퓨터컴알못) 컴퓨터 이대로 둬도 될까요. 6 [익명] 18/06/20 3236 0
4852 IT/컴퓨터카톡만 되는 휴대폰 있을까요? 3 [익명] 18/06/19 19332 0
4842 IT/컴퓨터첨보는 e드라이브가 생겼는데.. 3 파란 회색 18/06/17 4682 0
4829 IT/컴퓨터불여우 쓰시는 분? 6 Raute 18/06/14 4734 0
4817 IT/컴퓨터포토샵 기능 질문! 3 [익명] 18/06/12 2792 0
4815 IT/컴퓨터옛날 한글을 모음과 같이 입력하고 싶습니다. 2 캣리스 18/06/12 4797 0
4807 IT/컴퓨터현업에 종사하고 계신 개발자분들께 질문드립니다. 19 [익명] 18/06/11 3605 0
4801 IT/컴퓨터안드로이드에서 특정 링크가 저절로 열리는 현상 김우라만 18/06/11 6234 0
4798 IT/컴퓨터카톡사진 저처럼 깨지는분 계신가요? waltzz 18/06/10 10405 0
4797 IT/컴퓨터프로그램 간단한 거 요청받아 만들어주는 곳 있을까요? 7 [익명] 18/06/10 3220 0
4783 IT/컴퓨터Zotero sync 에러가 나요 (SSL 인증 오류) 지겐 18/06/09 7404 0
4762 IT/컴퓨터엑셀 질문 19 기쁨평안 18/06/05 4538 1
4761 IT/컴퓨터[데이터분석] 특정 서비스 가입회원들의 활동이력을 분석하려고 합니다. 5 기쁨평안 18/06/05 3546 0
목록

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

댓글