- 질문 게시판입니다.
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 26844 4
17217 여행일산 킨텍스 숙소 (4월 12일-16일) 1 + celestine 26/01/30 41 0
17216 기타영아 돌연사의 경우가 종종있나요... 3 + 하우두유두 26/01/30 254 0
17213 기타과메기를 주문하고 싶읍니다. 4 모크샤 26/01/30 252 0
17212 기타안에 털 들어가있는 방한화 안전하고 편안한지요...? 3 + 홍당무 26/01/29 257 0
17211 기타더글로우 갈까요 말까요 4 골든햄스 26/01/28 497 0
17210 IT/컴퓨터모니터와 멀티탭의 일반적인 수명? 이 궁금합니다. 14 K-이안 브레머 26/01/28 477 0
17209 가정/육아여권사진을 셀프로 찍어서 온라인으로 신청하려고 하는데요. 혹시 요령이 있을까요? 10 문샤넬남편 26/01/26 653 0
17208 의료/건강오늘 강냉이 빼러갑니다 2 DogSound-_-* 26/01/26 336 0
17207 기타가방을 사고싶은데 너무 비싸서 뭘 사야할지 모르겠어요... 17 dongri 26/01/25 586 0
17206 진로나이에 비해 너무 어리다는 생각이 듭니다 18 JaneJ 26/01/25 853 0
17204 가정/육아처가에 다니는 게 스트레스입니다 20 [익명] 26/01/23 1080 0
17203 기타지름병이 왔습니다. 아이템 추천해주십시오 22 쉬군 26/01/22 624 0
17202 문화/예술똑딱이 카메라 추천 부탁드립니다 8 Mandarin 26/01/22 321 1
17201 기타병원 질문입니다 1 김치찌개 26/01/21 286 0
17200 경제단독주택 매물 볼 수 있는 곳이 있을까요? 7 루루얍 26/01/19 679 0
17199 문화/예술유럽/독일식 비즈니스 문화를 알려주는 책/리소스? 4 열한시육분 26/01/18 653 0
17198 여행중국 골프여행 여행사 추천 해주세요 유니브로 26/01/17 285 0
17197 경제한국 한정 테슬라가 왤케 인기가 많죠? 28 whenyouinRome... 26/01/17 1062 0
17196 게임게임 추천 좀 부탁드려요 어둠달골짜기 26/01/16 426 0
17195 의료/건강60대 여성의 불면증 치료 문의. 6 [익명] 26/01/15 687 0
17194 기타어떤 차를 사야할까요? 16 nothing 26/01/15 578 0
17193 IT/컴퓨터제 2의 인생을 위해 AI 프롬프트 공부를 좀 해보고 싶은데 어떤 자료를 좀 찾아보면 좋을까요...? 9 Clair Obscur 26/01/15 660 0
17192 문화/예술클래식 연주회 티켓은 어디서 양도가능할까요? 4 구바 26/01/14 438 0
17191 기타Windows 10 질문입니다 1 김치찌개 26/01/14 270 0
목록

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

댓글