- 질문 게시판입니다.
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 23344 4
16171 기타방청소 안하고 잘 깜빡하는게 ADHD나 정신병적인 문제가 있는건가요?? 7 + [익명] 24/09/30 195 0
16170 여행아시아나 마일리지를 가장 잘 쓰는 방법은 무엇인가요? 6 + moqq 24/09/28 440 0
16169 여행10/01 오후에 설악산을 갈까 하는데 짧고 사람 덜있는 코스 있을까요? 6 아재 24/09/28 320 1
16168 IT/컴퓨터원노트 용 사진 동기화 7 pils 24/09/28 202 0
16167 의료/건강한 쪽 눈알이 빠질 것처럼 아픕니다. 11 오구 24/09/27 524 0
16166 법률1층 베란다 밖에 데크 설치 가능한가요? 23 [익명] 24/09/27 675 0
16165 IT/컴퓨터그래픽 드라이버 및 모니터 해상도떄문에.. 2 피아니시모 24/09/26 197 0
16164 기타충전기 질문입니다 김치찌개 24/09/26 138 0
16163 기타달러를 계좌에 입금해서 쓰고 싶읍니다. 12 쉬군 24/09/26 512 0
16162 의료/건강의료넷 선생님들 도와줘요! (고지혈증) 30 Mandarin 24/09/26 736 0
16161 의료/건강요즘 자꾸 안절부절못하는 느낌이 납니다 7 [익명] 24/09/26 387 0
16160 IT/컴퓨터노트북 추천 부탁드립니다. 8 OshiN 24/09/25 380 0
16158 연애까였을 때 보통 우울하고 아무것도 안잡히나요? 16 [익명] 24/09/23 985 0
16157 경제두산에너지빌리티 주식매수청구권 질문입니다. 1 화이트초컬릿 24/09/23 424 0
16156 여행10월 초 삿포로 여행 질문입니다. 11 보리건빵 24/09/22 418 0
16155 진로이솝이랑 비슷한데 이솝보다 저렴한 바디워시 18 린디합도그 24/09/22 861 0
16154 기타세면대에 문제가 생겼습니다. 5 박지운 24/09/21 423 0
16153 의료/건강아침식사로 매우 단 음식을 먹으면 심하게 배탈이 납니다 1 2024 24/09/21 514 0
16152 IT/컴퓨터블투 수신기문제에 대해 야얌 24/09/21 173 0
16151 여행홋카이도 7박 8일 여행일정 질문입니다 9 거소 24/09/20 372 0
16150 과학이스라엘은 삐삐를 어떻게 폭발시킨 것일까요...? 4 홍당무 24/09/20 534 0
16148 의료/건강진통제 복용 후 식사하기가 힘듭니다. 4 오구 24/09/19 450 0
16147 IT/컴퓨터터치 기능이 없는 블루투스 이어폰이 있을까요? 6 허락해주세요 24/09/17 456 0
16146 기타일본이나 괌에서 출산한 애기엄마를 위한 선물로 살만한게 있을까요? 6 쉬군 24/09/16 761 0
목록

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

댓글