- 질문 게시판입니다.
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 22798 4
15867 의료/건강치아 재식술 후 경과, 도와주세요!! 블리츠(집빈남) 24/05/18 13 0
15866 기타아버지 교통사고 형사합의금 분배문제 15 + [익명] 24/05/18 377 0
15865 기타잃고싶지 않은 인연이라면 1 [익명] 24/05/18 341 0
15864 연애다정하고 따스한 연인이 되고 싶습니다 9 [익명] 24/05/17 743 0
15863 여행울산은 먹을게 고래고기 밖에 없다면서요? 11 그저그런 24/05/16 482 0
15862 기타알리, 테무 막히기 전에 사놓으면 괜찮은 제품 추천 부탁드립니다 12 swear 24/05/16 618 0
15861 의료/건강정력=X / 정자에 좋은 건강기능식품이 무엇이 있을까요? 10 오리꽥 24/05/16 377 0
15860 기타가성비 선글라스 브랜드나 제품 추천 부탁드려요. 3 침묵의공처가 24/05/16 360 0
15859 경제전세자금대출 5 [익명] 24/05/15 256 0
15858 IT/컴퓨터유튜브는 재생하면 기본 1080p 인데 4k 동영상 업로드가 의미가 있나요 6 루키루키 24/05/15 382 0
15855 경제복수의 세입자일 경우 부동산 계약 관계 2 [익명] 24/05/14 515 0
15854 IT/컴퓨터소프트웨어 개발시 지분 관계 28 먹이 24/05/14 700 0
15853 기타수도권에서 진도까지 갈 예정인데.. 맛잘알 선생님들 도와주세요 6 어둠달골짜기 24/05/14 429 0
15852 의료/건강가끔 꿈과 현실이 헷갈립니다. 5 [익명] 24/05/14 468 0
15851 여행6월 하순 해외여행지 추천 부탁드려요. 23 늘쩡 24/05/14 322 0
15850 기타Tv로 유튜브앱 배속시 화질저하 문제 2 하우두유두 24/05/13 190 0
15849 게임스타 1 vs 스타 2(start 아님) 2 2024 24/05/13 258 0
15848 기타삼성램 ddr4 신품을 샀는데 중고를 보내줬어요 3 24/05/13 450 0
15847 IT/컴퓨터ERP 솔루션 추천 부탁드립니다^^ 2 루키루키 24/05/13 334 0
15846 기타아내와의 갈등 관련 조언 10 [익명] 24/05/13 648 0
15845 경제자산 관리 할 때 어떤 어플을 쓰시나요? 8 Yossi 24/05/12 559 0
15844 법률작년 국내주식 양도세 문의 4 [익명] 24/05/11 334 0
15842 경제k패스카드 추천 2 무더니 24/05/10 414 0
15841 기타화해를 하고싶습니다 9 [익명] 24/05/10 1001 0
목록

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

댓글