ͼ4.1 ÓÎÏ·µÄÀà¿ò¼Ü
1¡¢Æô¶¯ÓÎÏ·£¬ÔÚPlaneActivityÖлáÏȽøÈë¼ÓÔØ½çÃæProcessView£¬È»ºóºǫ́¼ÓÔØ»¶Ó½çÃæWelcomView£¬µ±¼ÓÔØÍê³ÉºóÆÁÄ»Çл»µ½»¶Ó½çÃæ£¬²¢Æô¶¯WelcoeViewThreadÏß³ÌÉú³É»¶Ó½çÃæµÄ¶¯»Ð§¹û¡£
2¡¢µ±»¶Ó¶¯»²¥·ÅÍê³ÉºóÆÁÄ»»áÍ£ÁôÔÚÑ¡Ôñ״̬µÈ´ýÍæ¼Ò²Ù×÷¡£ 3¡¢µ±Íæ¼Òµ¥»÷¡°°ïÖú¡±Ê±½«³õʼ»¯°ïÖú½çÃæHelpView²¢½«ÆäÏÔʾ³öÀ´¡£ 4¡¢µ±Íæ¼Ò´ó¼¸¡°¿ªÊ¼ÓÎÏ·¡±°´Å¥Ê±£¬ÆÁÄ»½«ÏÔʾ¼ÓÔØ½çÃæ¡£ºǫ́½«³õʼ»¯ÓÎÏ·½çÃæGameView£¬ÔÚµØÍ¼ÐÅÏ¢ÀàMapsÖгõʼ»¯´Ë¹Ø¿¨ÖеÄËùÓелú¡¢±äǹµÄµÀ¾ß¡¢²¹ÑªµÄµÀ¾ßµÈ¡£
5¡¢³õʼ»¯ÓÎÏ·½çÃæµÄͬʱÆô¶¯GameViewBackGroundThreadỊ̈߳¬ÒÔ³õʼ¹ö¶¯ÓÎÏ·½çÃæµÄ±³¾°Í¼Æ¬¡£
6¡¢µ±Íæ¼Ò·¢ÉäÅÚµ¯»òµÐ»ú·¢ÉäÅÚµ¯Ê±»á´´½¨Bullet¶ÔÏ󣬲¢½«ÆäÌí¼Óµ½ÒÑÖªµÄÈÝÆ÷ÖС£
7¡¢ÔÚÓÎÏ·¹ý³ÌÖÐÈç¹ûÐèÒªÏÔʾ±¬Õ¨Ð§¹û£¬»á´´½¨±¬Õ¨Ð§¹ûÀàExplodeÒÔ¼°ExplodeThreadÀàÀ´äÖȾ±¬Õ¨Ð§¹û¡£
8¡¢ÓÎÏ·ÖÐËùÓÐÀàÖÐʹÓõij£Á¿È«²¿·â×°µ½³£Á¿ÀàConstantUtilÀàÖС£
4.2 ÓÎÏ·½çÃæµÄ¿ò¼Ü¼ò½é
ͼ4.2 ÓÎÏ·½çÃæµÄÀà¿ò¼Ü
1¡¢GameViewÔÚ³õʼ»¯ÊÇ»á´ÓMaps¶ÁÈ¡µ±Ç°¹Ø¿¨µÄµØÍ¼ÐÅÏ¢£¬°üÀ¨µÐ»ú¡¢²¹ÑªµÀ¾ß¡¢»»Ç¹µÀ¾ßµÈ¡£
2¡¢ÔÚ½çÃæ³õʼ»¯µÄͬʱ£¬»¹ÐèÒªÆô¶¯MoveThreadÏ̡߳¢GameViewBackGroundThreadÏ̡߳¢KeyThreadÏß³ÌÒÔ¼°ExplodeThreadÏ̡߳£ 3¡¢GameView»áÔÚÊʵ±µÄʱºò´ÓPlaneÀàÖжÁÈ¡Ö÷Õ½·É»úµÄÐÅÏ¢½øÐлæÖÆ¡£ 4¡¢µ±Ö÷Õ½·É»ú·¢Éä×Óµ¯Ê±£¬»á´´½¨Bullet¶ÔÏó²¢Ìí¼Óµ½Ö¸¶¨ÈÝÆ÷ÖУ¬´ËʱMoveThreadͬÑùÐèÒª¶¨Ê±¸Ä±ä×Óµ¯¶ÔÏóµÄλÖá£
5¡¢ÔÚÒÔÉϹý³ÌÖУ¬È«²¿¶¼ÐèÒªPianeActivityµÄ¹ÜÀíÓëConstanUtilµÄ²ÎÓë¡£ 4.3¸÷¸öÀàµÄ¼òÒª½éÉÜ
1¡¢¹²ÓÐÀࣺ
ActivityµÄʵÏÖÀàPlaneActivity,¸ÃÀàÊÇͨ¹ýÀ©Õ¹»ùÀàActivityʵÏֵģ¬ÊÇÕû¸öÓÎÏ·³ÌÐòµÄÈë¿Ú¡£
¼üÅ̼àÌýÏß³ÌKeyThread£¬¸ÃÀàΪÊÖ»ú¼üÅ̵ļàÌýỊ̈߳¬Ã¿¸ôÒ»¶Îʱ¼ä¶Áȡһ´Î¼üÅ̵Ä״ֵ̬£¬²¢¸ù¾Ýµ±Ç°¼üÅÌ״̬×ö³öÏàÓ¦µÄ²Ù×÷
package wyf.ytl;
public class KeyThread extends Thread {
public void run() {// ÖØÐ´µÄ·½·¨
public void setFlag(boolean flag) {// ÉèÖñê־λ }
this.flag = flag;
public KeyThread(PlaneActivity activity) {// ¹¹ÔìÆ÷ }
this.activity = activity; int span = 20;// ˯ÃߵĺÁÃëÊý
int countMove = 0;// ·É»úÒÆ¶¯µÄ¼ÆÊýÆ÷ int countFine = 0;// ·É»ú·¢×Óµ¯µÄ¼ÆÊýÆ÷ int moveN = 3;// ÿÈý´ÎÑ»·Òƶ¯Ò»Ï int fineN = 5;// ÿÎå´ÎÑ»··¢Ò»´Î×Óµ¯ PlaneActivity activity;// ActivityµÄÒýÓà private boolean flag = true;// Ñ»·±êÖ¾ int action;// ¼üÅÌ״̬Âë
private boolean KEY_UP = false;// ÏòÉϼüÊÇ·ñ±»°´Ï private boolean KEY_DOWN = false;// ÏòϼüÊÇ·ñ±»°´Ï private boolean KEY_LEFT = false;// Ïò×óµÄ¼ü±»°´Ï private boolean KEY_RIGHT = false;// ÏòÓҵļü±»°´Ï private boolean KEY_A = false;// AµÄ¼ü±»°´Ï private boolean KEY_B = false;// BµÄ¼ü±»°´ÏÂ
while (flag) {
action = activity.action;// µÃµ½µ±Ç°¼üÅ̵Ä״̬Âë if (action == 19) {// ÉÏ
KEY_UP = true;
} else { }
if (action == 20) {// ÏÂ
KEY_DOWN = true; KEY_UP = false;
} else { }
if (action == 21) {// ×ó
KEY_LEFT = true; KEY_DOWN = false;
} else { }
if (action == 22) {// ÓÒ
KEY_RIGHT = true; KEY_LEFT = false;
} else { }
if (action == 29) {// A
KEY_A = true; KEY_RIGHT = false;
} else { }
KEY_A = false;
if (activity.gameView.status == 1 || activity.gameView.status
Ïà¹ØÍÆ¼ö£º