Ò»¸ö¼òµ¥µÄ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
Ïà¹ØÎĵµ£º
import java.util.prefs.*;
public class Registery {
String[] keys = {"oa"};
String[] values = {"reg"};
//°ÑÏàÓ¦µÄÖµ´¢´æµ½±äÁ¿ÖÐÈ¥
public void writeValue() { ......
×î½üѧϰjavaµÄIO²Ù×÷£¬ÏÖÕûÀíÈçÏÂ
1 ÊäÈëÊä³ö
javaµÄ¿â½«³ÌÐòÓëÊäÈëÓйصÄÀà¶¼´ÓInputStream¼Ì³Ð£¬ÓëÊä³öÓйصÄÀà¶¼´ÓOutStream¼Ì³Ð¡£
ÒÔǰûÓÐÕÆÎÕµÄÏà¹ØÀà SequenceInputStream ½«Á½¸ö»ò¸ü¶àµÄinputStream ת»»³Éµ¥¸ö¶ÔÏóʹÓá£
2 ÔöÌíÊôÐÔºÍÓÐÓõĽӿÚ
×°ÊÎÆ÷ £º ÀûÓòã´Î»¯¶ÔÏó¶¯Ì¬Í¸Ã÷ ......
»¨Á˵ãʱ¼äÈ¥Ñо¿£¬Ò²ËãСÓÐÊÕ»ñ£º
Arrays.sort()·½·¨ÔÚJDKÀïÓкܶ࣬ÆäÖÐ×ÅÖØËµÏÂ
static void
sort(Object[] a)
static
<T> void
sort(T[] a, Comparator<? super T> c)
ǰÕß²ÎÊýÖеÄÊý×éaÖеÄËùÓÐÔªËØ±ØÐëʵÏÖcomparable½Ó¿Ú£¬¿ÉÒÔÖØÔØcomparableµÄ·½·¨compareTo£¨£©¡£
ºóÕß² ......
javax.swing.plaf.metal.MetalLookAndFeel
com.sun.java.swing.plaf.windows.WindowsLookAndFeel
com.sun.java.swing.plaf.motif.MotifLookAndFeel
com.sun.java.swing.plaf.mac.MacLookAndFeel
com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel //java6ÐÂÆ¤·ô£¬²£Á§Í¸Ã÷
ÎÒµÄ×ÊÔ´ÖÐÓÐÏà¹Ø java swing ·½ÃæµÄ½Ì³Ì£¬j ......