최근에 나는 지식 지식 지식을 읽은 다음 교사의 설명을 따라 태양 주위의 미니 게임을 만들어 최근의 학습 지식을 연습하고 통합합니다.
지식 포인트 사용 : 수업 상속, 방법의 로딩 및 재 작성, 다형성, 포장 등
분석 :
1. 그림과 그림을로드해야합니다
2. 패널, 홈페이지를 작성하십시오
3. 행성
효과지도 :
먼저 소스 코드 구조 다이어그램을 살펴보십시오.
이제 각 클래스의 기능을 점차 분석합니다.
1) 도구 ----- UTIL 패키지
-Constant 클래스는 게임에 사용 된 상수를 캡슐화했습니다
-gameutil 클래스 게임의 그림 로딩 기능을 캡슐화합니다.
-MyFrame 클래스 각 패널의 상위 클래스에 대한 게임 패널의 구조
------ 그 이유는 프로그램의 확장을 용이하게하기 위해 데이터를 캡슐화하기 때문입니다.
constant.java
패키지 우틸;
GameUtil.java
PACKED UTIL; import Java.io.ioexcept; Author Long */public class gametil {private gametil () {} // 도구 클래스는 일반적으로 Private Public Static GetImage (String Path)를 구성합니다. bufferedImage img = null; myframe.java
패키지 util; import javax.swing.jpanel; / public void rameframe (jframe frame = "mygame"); frame.setLocationRelationOto (null); @Author dell */class painthreads 스레드 {public void run () {repain () {thread.sleep (40); printStackTrace ();}}} public static void main (string [] args) {new myframe (). 2) 메인 이벤트 처리 클래스 --- 태양 광 패키지
-Planet Class 행성은 Star Class에 상속됩니다
-Solarframe 게임 메인 패널은 MyFrame 클래스에 상속됩니다
-각 행성의 아버지 인 급류 행성
-테스트 수업 테스트 클래스, 설명 할 필요가 없습니다
행성. 자바
패키지; import java.awt.graphics; / 그림과 좌표를 제외하고 행성은 타원을 따라 달려 있습니다 : 긴 샤프트, 짧은 샤프트, 움직임 속도, 회전 각도. 별로 이중 삭제를 실행하십시오 , (int) x, (int), super.Draw (g); (CENTER.X+CENTER.Y+CENTER.H/2); (Color.blue); G.Drawoval (int) Tracey, (int) tracewidth, (int) public void move () {// 타원 궤도 x = 센터. .x + longaxis * math.cos (학위); } 공개 행성 (String ImgPath, Double X, Double Y) {Super (ImgPath, X, Y);} Bil Planet (Star Center, Image IMG, Double Longaxis, Double Shortaxis, Double Speed) {Super (this.x); = (center.x+center.w /2)+longaxis .longaxis = this.speed = speed; (imgpath), longaxis, shortaxis, 속도);}}SolarFrame.java
패키지; .game_height/2; Earth.png ", 100,60,0.1); 행성 Mars = New Planet (Sun,"Images/Mars.png ", 180,100,0.15); @Override Public void Paint (Graphics G) {Wimage (BG, 0, 0, 0 , null); sun.draw (g);star.java
패키지; import java.awt.image; int) x, (int) y, null);} public star () {image img) {this.img = img; (null);} public star (Image IMG, Double y) {this.x = y;}; this (gameUtil.getImage (imgpath), x, y)}요약 : 이 미니 게임은 프로그램의 확장을 용이하게하는 코드의 캡슐화에 의해 더 잘 처리되며, 다른 클래스 및 방법으로 다른 기능이 캡슐화됩니다. 초기 단계에서 다양한 범주의 과정에서 다양한 작은 문제와 세부 사항이 있지만, 이들을 다루면 나중에 행성의 수는 비교적 간단합니다. 사용된. 물체 중심의 물이 너무 깊습니다. 이것은 예비 관여 일 뿐이며 여전히 열심히 노력해야합니다! 교차로 교차로
위는 Java Solar Game Analysis 및 소스 코드의 분석입니다.