Ò»¸ö¼òµ¥µÄJava 3DÔ´´úÂë
Õâ¶ÎÔ´´úÂëʵÏÖÁËÔÚÒ»¸ö´°ÌåÖÐÏÔʾһ¸ö³¡¾°£»ÒÔÒ»¸öÆåÅ̸ñ×öµÄµØÃ棬ÔÚµØÃæÉϸ¡×ÅÒ»¸öÀ¶É«µÄÇòÌ壬ÔÚ³¡¾°ÖÐÓÐÒ»¸ö»·¾³¹âºÍÒ»¸öÖ±Éä¹â£¬ÊµÏÖÁËÓÃÊó±êÈ«½Ç¶ÈµÄ¹Û²ì³¡¾°µÄ¹¦ÄÜ¡£´ÓijÖÖÒâÒåÉÏÀ´ËµÕâµÄȷʵÏÖÁËÒ»²¿3DÓÎÏ·×îÔʼµÄ¿ò¼Ü¡£
´úÂëÊÇÕÕ×Å¡¶Killer Game Programming in Java¡·Ò»ÊéÖйØÓÚ3DÓÎÏ·ÖÆ×÷µÄÄDz¿·ÖдµÄ£¬ÓÉÓÚ´ËÊéÊÇÓ¢ÎİæµÄ¾Ý˵ÔÚ¹úÄÚÒ²Âò²»µ½ÖÐÎÄ·Òë°æµÄ£¬¿´µÃºÜ·ÑÁ¦£¬±¾ÈËÓ¢ÎIJ»ºÃ¡£Ö»ÄÜÂýÂýµÄÑо¿ÊéÖеÄÔ´´úÂë¡£
ÏÂÃæËµÃ÷ÏÂÔ´´úÂëµÄÎļþ¹¦ÄÜ
GameMain.java - ³ÌÐòµÄÈë¿Ú¡£
ScreenManager.Java - ʵÏÖÒ»¸öºÜ¼òµ¥µÄ´°ÌåÀà´ÓJFrameÅÉÉú£¬Ä¿Ç°Ö»·µ»ØÒ»¸ö´°Ì壬ÒÔºó¿ÉÄÜʵÏÖ×ÔӵŦÄÜ¡£
WrapCheckers3D.Java - ʵÏÖÒ»¸ö¼òµ¥µÄ3D³¡¾°À࣬ÄÜʵÏÖÒ»¸ö¼òµ¥µÄÊó±ê²Ù×÷¡£
CheckerFloor.Java - ʵÏÖÒ»¸ö¹ú¼ÊÏóÆå°ãµÄÆåÅ̸ñ×öÀ´³¡¾°ÖеĵØÃæ¡£
ColouredTile.Java - ÅÉÉú×ÔShape3DÀ࣬ÄÜʵÏÖÒ»¸öÕý·½ÌåÆ½Ãæ£¬ÓÃÀ´ÎªCheckerFloorÀàʵÏÖÆåÅ̸ñ
GameMain.Java
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class GameMain {
private static int scrWidth = 800;
private static int scrHeight = 600;
private static int scrBitdepth = 32;
private JFrame gameFrame;
private WrapCheckers3D wrap;
public static void main(String[] args)
{
GameMain game = new GameMain();
}
public GameMain()
{
ScreenManager screen = new ScreenManager(scrWidth,scrHeight,scrBitdepth,"Java 3D Test");
screen.setWindowMode();
gameFrame = screen.getFrame();
wrap = new WrapCheckers3D(scrWidth,scrHeight);
gameFrame.add(wrap);
}
}
ScreenManager.Java
import java.awt.Dimension;
import java.awt.DisplayMode;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class ScreenManager {
private GraphicsDevice device;
private JFrame frame;
private String title;
private boolean isResizable;
private boolean isWindowM
Ïà¹ØÎĵµ£º
±¾ÆªÄÚÈÝϵͳJAVA»ù´¡ÖªÊ¶½éÉÜ£¬ÊÊÓÃÓÚ³õѧÕߺ͸´Ï°µÄÅóÓÑÔĶÁ¡£×÷Ϊ±¾ÈË£¬Ë価Á¿²éÔĸ÷ÖÖÊé¼®£¬µ«ÊÇÈÔÄѱÜÃâ¸÷ÖÖ´íÎóºÍ²»µ±£¬»¹Çë¿´¹ý²¢·¢ÏÖÆäÖдíÎóµÄÅóÓÑÖ¸Õý¡£
Ò».¼ò½é
1.Green TeamС×éÓëJAVA
&nb ......
Õâ¸öÎÊÌâÔÚÓÚ ÔÚFrameÖÐÌí¼Ó×é¼þʱ£¬Ã¿¸ö×é¼þÏÈÉ趨ÁËλÖ㬵«ÊÇÌí¼Óµ½FrameÖкóʼÖÕ»á³öÏÖÎÊÌâ¡£
ÀýÈ磺
class MyGame extends Frame
{
MyGame()
{
Label c[] = new Label[8];
for(i = 0; i<8; i++)
{
c[i] = new Lab ......
ÉùÃ÷£º±¾ÎIJ¢·Ç±¾ÈËËùд£¬ÊÇÍøÉÏ¿´µ½µÄ£¬µ«ÊǸÃÎÄûÓбêÃ÷³ö´¦£¬ËùÒÔ±¾ÈËÒ²²»ÖªµÀ
×÷ΪJava³ÌÐòÔ±À´Ëµ£¬×îÍ´¿àµÄÊÂÇéιýÓÚ¿ÉÒÔÑ¡ÔñµÄ·¶Î§Ì«¹ã£¬¿ÉÒÔ¶ÁµÄÊéÌ«¶à£¬ÍùÍùÈÝÒ×ÎÞËùÊÊ´Ó¡£ÎÒÏë¾ÍÎÒ×Ô¼º¶Á¹ýµÄ¼¼ÊõÊé¼®ÖÐÌôÑ¡³öÀ´Ò»Ð©£¬°´ÕÕѧϰµÄÏȺó˳Ðò£¬ÍƼö¸ø´ó¼Ò£¬ÌرðÊÇÄÇЩÏë²»¶ÏÌá¸ß×Ô¼º¼¼ÊõˮƽµÄJava³ÌÐòÔ±ÃÇ¡£
Ò»¡¢ ......
»¨Á˵ãʱ¼äÈ¥Ñо¿£¬Ò²ËãСÓÐÊÕ»ñ£º
Arrays.sort()·½·¨ÔÚJDKÀïÓкܶ࣬ÆäÖÐ×ÅÖØËµÏÂ
static void
sort(Object[] a)
static
<T> void
sort(T[] a, Comparator<? super T> c)
ǰÕß²ÎÊýÖеÄÊý×éaÖеÄËùÓÐÔªËØ±ØÐëʵÏÖcomparable½Ó¿Ú£¬¿ÉÒÔÖØÔØcomparableµÄ·½·¨compareTo£¨£©¡£
ºóÕß² ......