- 질문 게시판입니다.
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 23773 4
16408 IT/컴퓨터얼리어답터가 많이 있는 온라인 커뮤니티 없을까요? 열한시육분 24/12/25 12 0
16407 연애연애? 질문! 근데 제가 아니라... 9 얼그레이 24/12/24 612 0
16406 문화/예술선물용 와인 추천 부탁드립니다 9 DogSound-_-* 24/12/24 309 0
16405 의료/건강수면유도제 장기복용 기준이 어느정돈가요? 3 John Petrucci 24/12/24 243 0
16404 기타현명한 인간관계 대응방법이 고민입니다. 12 [익명] 24/12/23 706 0
16403 의료/건강아토피 습진에 피해야 하는것과 권장하는 것이 있을까요? 4 [익명] 24/12/23 307 0
16402 의료/건강타이레놀이 왜 재고가 없을까요? 선생님들 28 Mandarin 24/12/23 702 0
16401 여행수서역에 사람을 내려줘야 하는데요 19 방사능홍차 24/12/22 777 0
16400 기타패딩 입은 채로 자는 분 있으신지요...? 10 홍당무 24/12/21 837 0
16399 가정/육아초보 아빠입니다. 100일 아기 수돗물(분유X) 마셨을 때 대처법 궁금합니다! 3 춘처냉 24/12/21 599 0
16398 의료/건강수면 중 다리 쥐나는 문제 11 와이 24/12/21 512 0
16397 법률인도에 불법주차된 킥보드가 넘어져 차에 상해를 입힌 경우에 대한 대응방안 4 [익명] 24/12/20 508 0
16396 IT/컴퓨터카카오톡 톡게시판 무한로딩... ㅠㅠ 5 메존일각 24/12/20 337 0
16395 경제음식점 세금관련 세무상담을 받아보는것에 대해 질문드립니다. 13 얼불 24/12/19 437 0
16394 여행유럽여행 비용 질문드립니다. 6 얌전한 고양이 24/12/19 351 0
16393 기타2025년 다이어리 추천해주세요. 4 Darwin4078 24/12/19 336 0
16392 IT/컴퓨터노트북 HDMI연결 관련 문의드립니다. 4 초코파이 24/12/19 206 0
16391 기타세컨카 suv는 어떤게 좋을까요? 24 다람쥐 24/12/19 519 0
16390 문화/예술오평파에 가끔 나오는 브금인데 무슨 음악인지... 9 허락해주세요 24/12/18 300 0
16389 기타직장생활을 하다가 종교에 귀의하는거는 어떨까요? 15 [익명] 24/12/18 665 0
16388 기타거실의 장식 타일이 떨어지려고 합니다. 2 트랜스메타 24/12/17 309 0
16387 기타분리수거를 어떻게 해야할까요? 2 발그레 아이네꼬 24/12/17 310 0
16386 기타넷플릭스 질문입니다 5 김치찌개 24/12/17 317 0
16385 IT/컴퓨터컴퓨터 프리징 원인을 도저히 모르겠습니다 19 심심해 24/12/17 467 0
목록

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

댓글