itÈí¼þ¹¤³Ì˼Ïë-µÚ24²¿·Ö
°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
£¨2£©¶à±ßÐÎÄ£ÐͶÔÏ󣬿ÉÓÃÓÚ»æÖÆAutodesk¹«Ë¾¡£3dsÄ£ÐͺÍWavefront¹«Ë¾µÄ¡£objÄ£ÐÍ£»
£¨3£©ÉÌҵͳ¼ÆͼÐζÔÏó£¬ÈçÖùÐÎͼ¡¢´ø״ͼ¡¢ÌõÐÎͼ¡¢ÕÛÏßͼ¡¢Ãæ»ýͼ¡¢±ýͼ¡¢ËþÐÎͼ¡¢ÇúÏßͼ¡¢ÇúÃæͼ¡¢½ø³Ìͼ¡¢¹ÉƱͼµÈ¡£
¡¡¡¡Í¼ÐζÔÏóµÄ¿ª·¢ÓëÓ¦ÓÃÎÊÌâÃÜÇÐÏà¹Ø£¬Óû§¿ÉÒÔʹÓü̳з½·¨À©³äеÄͼÐζÔÏ󣬶ø²»»áÓ°Ïìµ½ÆäËüÈý²ãµÄ¹¹¼þ¡£
Èý¡¢³¡¾°Í¼Óë½Úµã
¡¡¡¡³¡¾°Í¼£¨Scene¡¡Graph£©ÊÇÓÐÏòÎÞ»·Í¼£¬Scene¡¡GraphµÄÖ÷Òª½ÚµãÓУº£¨1£©SceneNodeÊÇËùÓнڵãµÄ»ùÀà¡£ÔÚSceneNodeÖж¨ÒåÁ˾ֲ¿×ø±êϵÒÔ¼°ÏàÓ¦µÄͼÐα任£¬ÕâÑù±ãÓÚµÚËIJãÒÔͬÑùµÄ²Ù×÷·½Ê½ÊµÏÖÈýά½»»¥¡££¨2£©Ïà»ú½Úµã£¨CameraNode£©Ö§³ÖƽÐÐͶӰÓë͸ÊÓͶӰ£¬Ö§³Ö¶à¸öÏà»úÇл»¡££¨3£©¹âÔ´½ÚµãÓÐÈýÖÖ£ºÆ½ÐйâÔ´½Úµã£¨DirLightNode£©¡¢µã¹âÔ´½Úµã£¨PointLightNode£©ºÍ׶¹âÔ´½Úµã£¨SpotLightNode£©¡££¨4£©ÐÎÌå½Úµã£¨ShapeNode£©ÓÃÓÚÒýÓÃͼÐζÔÏó£¬ÓйØͼÐζÔÏóµÄÈýά½»»¥¾ùÓÉShapeNode´¦Àí¡£
ËÄ¡¢»æÖÆÓë½»»¥²ã
¡¡¡¡Intra3DµÄ½»»¥·ÖÁ½ÀࣺһÀàÊǶÔÐÎÌå¡¢¹âÔ´ºÍÏà»úµÄÖ±½Ó²Ù×÷£¬ÁíÒ»ÀàÊÇÕæʵ¸ÐÊôÐԵı༡£Intra3DµÄ³¡¾°ÊÓͼ¹¹¼þ£¨SceneView£©·â×°Á˽»»¥Ê½»æÖƵÄËùÓÐϸ½Ú£¬ÈçÏûÏ¢´¦Àí¡¢³¡¾°½ÚµãµÄ±éÀú»æÖÆ¡¢¶àÖزÉÑùÏû¾â³Ý¡¢Êó±ê½»»¥µÈ¡£ÎªÁ˱ãÓÚ±à¼Õæʵ¸ÐÊôÐÔ£¬Intra3D¶¨ÖÆÁËһЩ³£ÓöԻ°£ºÊ¸Á¿×ÖÌå¶Ô»°£¨FontDialog£©¡¢ÑÕÉ«¶Ô»°£¨ColorDialog£©¡¢²ÄÖÊ¿â¶Ô»°£¨MaterialLibDialog£©¡¢²ÄÖʶԻ°£¨MaterialDialog£©Óë¹âÔ´¶Ô»°£¨DirLightDialog£»¡¡PointLightDialog£»¡¡SpotLightDialog£©¡£
5¡£5¡£2¡£2¡¡Óû§½çÃæÉè¼Æ
¡¡¡¡Intra3DµÄ³¡¾°ÊÓͼ¹¹¼þSceneViewÓÃÓÚ¿ìËÙ´´½¨½»»¥Ê½3DÓ¦ÓóÌÐòµÄÖ÷½çÃæ¡£SceneViewÖ§³Öselecting¡¢scaling¡¢rotating¡¢translating¡¢creating¡¢deletingµÈÈýÊ®ÓàÖÖ²Ù×÷£¬²¢Ìṩ¹¤¾ßÌõ·½±ãÓÚ½»»¥£¬Èçͼ5¡£10Ëùʾ¡£
¡¡¡¡ÎªÁ˱à¼Õæʵ¸ÐÊôÐÔ£¬³£ÐèÔÚ¶Ô»°¿òÖлæÖÆ3D¡¡Í¼ÐΡ£MicrosoftµÄ´°¿Úϵͳ²»Ìṩ3DµÄ¶Ô»°´°¿Ú¡£Ê¹ÓÃIntra3DµÄWindow3D¹¹¼þ¿ÉÔÚ¶Ô»°¿òÖд´½¨¶à¸ö3DÊÓͼ£¬Í¼5¡£11µÄ²ÄÖʶԻ°ºÍͼ5¡£12µÄ²ÄÖÊ¿â¶Ô»°¶¼Ê¹ÓÃÁËWindow3D¹¹¼þ¡£ÑÕÉ«±à¼ÊÇ3DͼÐγÌÐòÖÐ×î³£ÓõĽ»»¥£¬²ÄÖÊÓë¹âÔ´µÄ±à¼Êµ¼ÊÉÏÊÇͨ¹ý¸Ä±äÑÕÉ«·ÖÁ¿À´ÊµÏֵġ£ÐèÒª½øÐÐÑÕÉ«±à¼µÄ½»»¥¾ùÉæ¼°HSVÓëRGBģʽµÄÑÕɫת»»¡£Intra3DµÄ¡°»æÖÆÓë½»»¥²ã¡±ÊµÏÖÁËÕâЩ¼ÆË㣬²¢ÇÒÌṩ²ÊÉ«µÄ»¬¶¯ÌõÓÃÓÚÊó±ê½»»¥¡£Í¼5¡£13¡¢Í¼5¡£14·Ö±ðΪµã¹âÔ´¶Ô»°ºÍÑÕÉ«¶Ô»°¡£
¡¡¡¡Í¼5¡£10¡¡¡¡ÓÃÓÚÖ±½Ó²Ù×÷µÄÈýά½»»¥¹¤¾ßÌõ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Í¼5¡£11¡¡¡¡²ÄÖʶԻ°¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Í¼5¡£12¡¡¡¡²ÄÖÊ¿â¶Ô»°¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Í¼5¡£13¡¡µã¹âÔ´¶Ô»°¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Í¼5¡£14¡¡¡¡ÑÕÉ«¶Ô»°
5¡£5¡£3¡¡Ö§³ÖÐͬ¹¤×÷µÄÍøÂçͨѶ¿ª·¢ÏµÍ³¡¡CNC¡¡1¡£0
×î¼òµ¥µÄÐͬ¹¤×÷ģʽÊÇÈÃÁ½¸ö¿Í»§»úÖ±½ÓͨѶ£¬¿ÉÒÔÓÃSocket±à³ÌʵÏÖ¡£¼ÙÉèÓС¡n¡¡¸ö¿Í»§»ú²Î¼ÓÐͬ¹¤×÷£¬Ã¿¸ö¿Í»§»ú½«ÓëËùÓÐÆäËüµÄ¿Í»§»úͨѶ¡£ÄÇô×ܹ²´æÔÚn£¨n¡1£©/2¡¡¸öSocketÖ±½ÓͨѶ£¬²¢ÇÒÿ¸ö¿Í»§»úµÄ±ä¶¯½«µ¼ÖÂÆäËü¿Í»§»úµÄÐ޸ġ£ÕâÖÖSocketÖ±½ÓͨѶʹµÃÐͬ¹¤×÷µÄ¹ÜÀíºÍ¿Í»§»úµÄ³ÌÐòÉè¼Æ±äµÃ·Ç³£À§ÄÑ¡£CNCϵͳÌṩÁËÖ§³Ö¡°·¢²¼¡ª¶©ÔÄ£¨Publish¡Subscribe£©¡±Óë¡°×é²¥£¨Multicast£©¡±¡¡Ä£Ê½µÄ·þÎñÆ÷ÓëAPI£¬¿ÉÒÔ¸ßЧµØ¹ÜÀí¶à¸ö×éȺµÄÐͬ¹¤×÷£¬²¢Ê¹µÃ¿Í»§»úµÄ³ÌÐòÉè¼ÆÊ®·Ö¼òµ¥¡£CNC¡¡1¡£0µÄϵͳ½á¹¹Èçͼ5¡£15Ëùʾ¡£
¡¡¡¡CNC¡¡·þÎñÆ÷½«¿Í»§»ú·Ö×é¹ÜÀí¡£ÔÚ¡°·¢²¼¡ª¶©ÔÄ¡±Ä£Ê½ÖУ¬½«²úÉúÊý¾ÝµÄ½ø³Ì³ÆΪÉú²úÕߣ¨Producer£©£¬½«½ÓÊÜÊý¾ÝµÄ½ø³Ì³ÆΪÏû·ÑÕߣ¨Consumer£©¡£Éú²úÕß¿ÉÒÔÏò·þÎñÆ÷·¢²¼Êý¾Ý£¬·þÎñÆ÷±£´æÕâЩÊý¾Ý¡£Ïû·ÑÕß¿ÉÒÔÏò·þÎñÆ÷¶©ÔÄÊý¾Ý¡£Ã¿¸ö¿Í»§»ú¿ÉÄÜÊǺܶàÊý¾ÝµÄÉú²úÕß»òÏû·ÑÕß¡£Í¬Ò»Ê±¿Ì£¬CNCϵͳÔÊÐíÓÐÈÎÒâ¶à¸öÉú²úÕߺÍÏû·ÑÕß´æÔÚ¡£CNCµÄ¡°·¢²¼¡ª¶©ÔÄ¡±¡¡¹¦ÄÜÊÇÓÃTCPÐÒéʵÏֵġ£
ÔÚ¡°×é²¥¡±¡¡Ä£Ê½ÖУ¬·þÎñÆ÷¶¯Ì¬µØ·ÖÅäÿ¸ö×éµÄ×é²¥µØÖ·¡£¿Í»§»ú¿ÉÒÔÏò·þÎñÆ÷ÉêÇë¼ÓÈëÈÎÒâ×飬ÔÊÐíÏòÈÎÒâ×é²¥·ÅÏûÏ¢£¬·þÎñÆ÷²»±£´æÕâЩ×é²¥ÏûÏ¢¡£CNCµÄ¡°×é²¥¡±¹¦ÄÜÊÇÓÃUDPÐÒéʵÏֵġ£
ͼ5¡£15¡¡¡¡CNC¡¡1¡£0¡¡µÄϵͳ½á¹¹
5¡£5¡£3¡£1¡¡¡¡CNC¡¡¿Í»§»úµÄAPIÉè¼Æ
ÀàCNCClient¿Í»§»úÓÃÀ´ÊµÏÖ¡°·¢²¼¡ª¶©ÔÄ¡±ºÍ¡°×é²¥¡±¹¦ÄÜ£¬Ö÷Òª½Ó¿Ú£¨¹«Óк¯Êý£©ÈçÏ£º
class¡¡CNCClient
¡¡¡¡£ûpublic£º
BOOL¡¡Connect£¨¡£©£»//¡¡Á¬½Ó·þÎñÆ÷
BOOL¡¡Disconnect£¨£©£»//¡¡Óë·þÎñÆ÷¶Ï¿ªÁ¬½Ó
BOOL¡¡PublishData£¨¡£©£»//¡¡Ïò·þÎñÆ÷·¢²¼Êý¾Ý
BOOL¡¡QueryData£¨¡£©£»¡¡//¡¡Ïò·þÎñÆ÷²éѯÊý¾Ý
BOOL¡¡SubscribeData£¨¡£©£»//¡¡Ïò·þÎñÆ÷¶©ÔÄÊý¾Ý
GROUPIP¡¡QueryGroupIP£¨¡£©£»¡¡//¡¡Ïò·þÎñÆ÷²éѯ×é²¥µØÖ·
DWORD¡¡MulticastMessage£¨¡£©£»//¡¡·¢ËÍ×é²¥ÏûÏ¢
virtual¡¡void¡¡MessageResponse£¨¡£©£»//¡¡ÏìÓ¦×é²¥ÏûÏ¢
¡
£ý£»
Ò»¡¢¿Í»§³ÌÐòµÄ¡°·¢²¼¡±ÐÒé
¿Í»§»úÏò·þÎñÆ÷·¢²¼µÄÿ¸öÊý¾Ý±¨¾ùº¬ÓÐÊý¾ÝÀàÐÍ¡¢¹¤×÷×éÃû³Æ¡¢Êý¾ÝÃû³Æ¡¢ÉúÃüÆÚºÍÊý¾Ý³¤¶ÈµÄÐÅÏ¢¡£±¨ÎĸñʽÈçͼ5¡£16Ëùʾ£¬Êý¾Ý½á¹¹¼û¡¡DataPublish¡¡£º
struct¡¡DataPublish
¡¡¡¡£û
BYTE¡¡iDataType£»//¡¡2¡¡¸ö×Ö½ÚÊý¾ÝÀàÐÍ£¬ºê¶¨ÒåΪDATA_PUBLISH
charstrGroupName£§16£§£»//¡¡16¸ö×ֽڵŤ×÷×éÃû×Ö
charstrDataName£§16£§£»//¡¡16¸ö×Ö½ÚµÄÊý¾ÝÃû×Ö
DWORDdwLifeTime£»//¡¡4¡¡¸ö×Ö½ÚµÄÊý¾ÝÉúÃüÆÚ£¬ÒÔÃëΪµ¥Î»
DWORDdwLength£»//¡¡4¡¡¸ö×Ö½ÚµÄÊý¾ÝÄÚÈݵij¤¶È
char*pchContent£»//¡¡Êý¾ÝÄÚÈÝ
¡¡¡¡£ý£»
¡¡¡¡¡¡¡¡¡¡2×Ö½Ú¡¡¡¡¡¡¡¡¡¡¡¡16×Ö½Ú¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡16×Ö½Ú¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡4×Ö½Ú¡¡¡¡¡¡¡¡¡¡¡¡4×Ö½Ú
ͼ5¡£16¡¡¡¡ÓÃÓÚ·¢²¼µÄ±¨Îĸñʽ
¶þ¡¢¿Í»§³ÌÐòµÄ¡°¶©ÔÄ¡±ÐÒé
¡¡¡¡¿Í»§»úÏò·þÎñÆ÷¶©ÔÄÊý¾Ý·ÖÁ½²½ÊµÏÖ£º
£¨1£©Ïȵ÷Óú¯ÊýQueryDataÏò·þÎñÆ÷·¢ËÍÒ»¸ö¡¡DataQuery¸ñʽµÄ±¨ÎÄ£¬ÓÃÓÚ²éѯҪ¶©ÔĵÄÊý¾ÝÊÇ·ñ´æÔÚ¡£
struct¡¡DataQuery
¡¡¡¡£û
¡¡¡¡BYTEiDataType£»//¡¡2¡¡¸ö×Ö½ÚÊý¾ÝÀàÐÍ£¬ºê¶¨ÒåΪDATA_QUERY
char¡¡strGroupName£§16£§£»//¡¡16¸ö×ֽڵŤ×÷×éÃû×Ö
¡¡¡¡char¡¡strDataName£§16£§£»¡¡//¡¡16¸ö×Ö½ÚµÄÊý¾ÝÃû×Ö
£ý£»
£¨2£©·þÎñÆ÷½ÓÊÕµ½²éѯʱ£¬°´ÕÕ¡¡DataQuery½á¹¹ÖеÄstrGroupNameºÍstrDataName½øÐÐËÑË÷¡£Èç¹û¸ÃÊý¾Ý²»´æÔÚ£¬ServerÏòClient·¢ËÍÒ»¸öFALSE±êÖ¾¡£Èç¹û¸ÃÊý¾Ý´æÔÚ£¬·þÎñÆ÷ÏÈÏò¿Í»§»ú·¢ËÍÒ»¸öTRUE±êÖ¾£¬Ö®ºóÁ¢¼´ÔÙÏò¿Í»§»ú·¢Ë͸ÃÊý¾Ý£¨DataPublish¸ñʽ£©¡£¡¡
¡¡¡¡Èç¹û¿Í»§»úµÃµ½TRUE±êÖ¾µÄ²éѯ½á¹û£¬¾Íµ÷Óú¯ÊýSubscribeDataÀ´½ÓÊÕ·þÎñÆ÷·¢Ë͹ýÀ´µÄÊý¾Ý¡£
Èý¡¢¿Í»§³ÌÐòµÄ¡°×é²¥¡±ÐÒé
¿Í»§»úÏȵ÷Óú¯ÊýQueryGroupIPÏò·þÎñÆ÷·¢ËÍÒ»¸öGroupAddress¸ñʽµÄ±¨ÎÄ£¬ÓÃÓÚ²éѯ×é²¥µØÖ·¡£·þÎñÆ÷·µ»ØÏàÓ¦µÄÊ®½øÖƵã·ÖʽµÄIPµØÖ·¡£
struct¡¡GroupAddress
¡¡¡¡£û
¡¡¡¡BYTEiDataType£»//¡¡2¡¡¸ö×Ö½ÚÊý¾ÝÀàÐÍ£¬ºê¶¨ÒåΪGROUP_ADDRESS
char¡¡strGroupName£§16£§£»//¡¡16¸ö×ֽڵŤ×÷×éÃû×Ö
£ý£»
¡¡¡¡¿Í»§»úµ÷Óú¯ÊýMulticastMessageÏòÖ¸¶¨µÄ×飨¸ù¾Ý×é²¥µØÖ·£©²¥·ÅÏûÏ¢¡£×é²¥µÄÊý¾Ý±¨½á¹¹¡¡DataMulticast¶¨ÒåÈçÏ£º
¡¡¡¡struct¡¡DataMulticast
¡¡¡¡£û
DWORDdwContentType£»//¡¡×é²¥µÄÊý¾Ý±¨ÀàÐÍ£¬ÓÉÓû§¶¨Òå
char*pchContent£»//¡¡×é²¥µÄÊý¾Ý±¨ÄÚÈÝ£¬ÓÉÓû§¶¨Òå
¡¡¡¡£ý£»
¡¡¡¡Èç¹û¿Í»§»ú½ÓÊÕµ½×é²¥µÄÏûÏ¢£¬½«×Ô¶¯µ÷Óú¯ÊýMessageResponseÀ´ÏìÓ¦¸ÃÏûÏ¢¡£MessageResponseÊÇÐ麯Êý£¬Ëü½«¸ù¾ÝdwContentTypeÐÅÏ¢¾ö¶¨ÈçºÎ´¦Àíµ½À´µÄ×é²¥ÏûÏ¢£¬¾ßÌ幦ÄÜÓÉÓû§¶¨Òå¡£
5¡£5¡£3¡£2¡¡¡¡CNC¡¡·þÎñÆ÷µÄÉè¼Æ
Ò»¡¢Êý¾Ý½á¹¹
CNC¡¡·þÎñÆ÷µÄÊý¾Ý½á¹¹Ö÷ÒªÓÉÈý²¿·Ö×é³É£º
£¨1£©Ò»ÕÅÓÃÓÚ¹ÜÀí×é²¥µØÖ·µÄÁ´±í¡£×é²¥µØÖ·ÓÉ·þÎñÆ÷¶¯Ì¬Éú³É£¬¿Í»§»ú¿ÉÒÔÏò·þÎñÆ÷²éѯÈÎÒâ×éµÄ×é²¥µØÖ·¡£
£¨2£©Ò»ÕÅÓÃÓÚ¹ÜÀíÏß³ÌÖ¸ÕëµÄÁ´±í¡£·þÎñÆ÷²ÉÓöàÏ̲߳¢·¢´¦Àí¼¼Êõ£¬Ê¹¿Í»§»ú»ñµÃ×î¿ìµÄÏìÓ¦¡£
£¨3£©Ã¿¸ö×鶼ÓÐÒ»ÕÅÓÃÓÚ¹ÜÀí¡°·¢²¼¡ª¶©ÔÄ¡±µÄÊý¾ÝµÄHash±í¡£ÓÉÓÚͬһʱ¿Ì£¬ÏµÍ³¿ÉÄÜ´æÔÚ¶à¸öÉú²úÕßÓëÏû·ÑÕߣ¬Êý¾ÝµÄ´æÈ롢ȡ³öËٶȳÉΪ·þÎñÆ÷ÐÔÄܵÄÖØÒªÖ¸±ê¡£Hash±í¿ÉÒÔÌṩ±ÈÁ´±í¸ü¿ìµÄÊý¾Ý¼ìË÷Ëٶȡ£Hash±íÖеÄÊý¾ÝÏî½á¹¹¼ûDataElement¡¡£º
struct¡¡DataElement
¡¡¡¡£û
charstrGroupName£§16£§£»//¡¡¹¤×÷×éµÄÃû³Æ
charstrDataName£§16£§£»//¡¡Êý¾ÝµÄÃû³Æ
BYTEiStorageType£»//¡¡´æ´¢ÀàÐÍ£º¡¡STORAGE_FILE¡¡»ò¡¡STORAGE_MEMORY
ColeDateTimeTimeToDie£»//¡¡×÷·Ïʱ¿Ì
BOOLbLock£»//¡¡Ëø¶¨±êÖ¾£º¡¡TRUE¡¡»ò¡¡FALSE
DWORDdwLength£»//¡¡Êý¾ÝµÄ³¤¶È
char*pchContent£»//¡¡Êý¾ÝÄÚÈÝ
¡¡¡¡£ý£»
´æ´¢ÀàÐÍ£¨iStorageType£©µÄÓÃ;£º°ÑÊý¾ÝÈ«²¿±£´æÔÚÄÚ´æÖн«·Ç³£ÏûºÄ·þÎñÆ÷µÄÄÚ´æ×ÊÔ´£¬ÔںܶàÇé¿öÏÂÊÇûÓбØÒªµÄ¡£ÎªÁËÌá¸ßÄÚ´æµÄʹÓÃЧÂÊ£¬·þÎñÆ÷½ö°ÑÉúÃüÆڽ϶̻òÕß³¤¶È½Ï¶ÌµÄÊý¾Ý±£´æÔÚÄÚ´æÖУ¨¼´ÎªSTORAGE_MEMORYÀàÐÍ£©£¬¶ø°ÑÉúÃüÆڽϳ¤»òÕß³¤¶È½Ï³¤µÄÊý¾Ý±£´æÔÚÎļþÖУ¨¼´ÎªSTORAGE_FILEÀàÐÍ£©¡£
×÷·Ïʱ¿Ì£¨TimeToDie£©µÄÓÃ;£º¿Í»§»ú·¢²¼µÄÊý¾Ý¾ùÖ¸¶¨ÁËÉúÃüÆÚ£¬·þÎñÆ÷ÔÚ½ÓÊÕµ½Êý¾Ýʱ¼´¿É¼ÆËã³ö×÷·Ïʱ¿Ì¡£·þÎñÆ÷½«¶¨ÆÚɨÃèHash±í£¬Èô·¢ÏÖÓÐÊý¾Ý³¬³ö×÷·Ïʱ¿Ì£¨²¢ÇÒûÓб»Ëø¶¨£©£¬¼´¿Éɾ³ý´ËÊý¾Ý¡£
Ëø¶¨±êÖ¾£¨bLock£©µÄÓÃ;£ººÜ¶à¿Í»§»ú¿ÉÄÜͬʱ¶©ÔÄij¸öÊý¾Ý£¬¶ø¸ÃÊý¾Ý¿ÉÄÜÒѳ¬³ö×÷·Ïʱ¿Ì¼´½«±»É¾³ý¡£Îª±ÜÃâ³åÍ»£¬¹æ¶¨Ö»ÒªÓпͻ§»ú¶©ÔÄÊý¾Ý£¬¾ÍÓÃiLock±êÖ¾À´Ëø¶¨´ËÊý¾Ý£¬Ö±µ½¶©ÔÄÍê³Éºó²ÅÏû³ýËø¶¨¡£
¶þ¡¢¶àÏ̲߳¢·¢¼¼Êõ
·þÎñÆ÷ÓÐÒ»¸öÖ÷Ï̺߳Ͷà¸ö×ÓÏ̡߳£Ö÷Ï̸߳ºÔð¿Í»§»úµÄÈëÁ¬½ÓÇëÇó£¬È»ºó´´½¨Ò»¸ö×ÓÏß³ÌÀ´´¦ÀíÕâ¸öTCPÁ¬½Ó¡£Ã¿¸ö×ÓḬ̈߳´ÕÕCNC¡¡APIµÄÐÒéÓë¿Í»§»úͨѶ¡£ÓÉÓÚÓжà¸ö×ÓÏ̹߳²Ïí·þÎñÆ÷ÖеÄÊý¾Ý£¬¶àÏ̶߳Թ²Ïí×ÊÔ´µÄͬ²½·ÃÎʳÉΪʵÏÖµÄÄѵ㡣CNC¡¡Ö÷Òª²ÉÓÃÁ˹ؼüÇø¡¢»¥³â¶ÔÏóµÈͬ²½Êֶνâ¾öÕâ¸öÎÊÌâ¡£
Èý¡¢WinsockµÄʹÓÃ
CNC¡¡1¡£0ÔËÐÐÓÚWindows¡¡9x/NTϵͳÏ£¬µ×²ãµÄÍøÂçͨѶ³ÌÐòÓÃWinsock±àд¡£WinsockÓÐÁ½ÖÖ¹¤×÷·½Ê½£º×èÈû·½Ê½ºÍ·Ç×èÈû·½Ê½¡£×èÈû·½Ê½µÄÓŵãÊDZà³Ì¼òµ¥£¬¿É¿¿ÐԺá£È±µãÊÇÈÝÒ×ʹӦÓóÌÐò×èÈûס£¬²»ÄÜ´¦ÀíÆäËüÊÂÎñ¡£·Ç×èÈû·½Ê½ÊÇÀûÓÃWindows¡¡ÏûÏ¢»úÖÆʵÏֵġ£ÓŵãÊÇÔÚÊý¾Ýµ½À´µÄʱºò£¬ÏµÍ³ÏòÓ¦ÓóÌÐò´°¿Ú·¢ËÍÏûÏ¢£¬Ê¹µÃÓ¦ÓóÌÐò²»±Ø×ÜÔڵȴýÊý¾Ý£¬Ìá¸ßÁ˹¤×÷ЧÂÊ¡£È±µãÊÇÔÚ·¢ËͺͽÓÊÕÊý¾Ýʱ£¬Ó¦ÓóÌÐò²¢²»½«ÊÂÇé×öÍ꣨²»×èÈû£©£¬ÒÔÖÁÓÚÓ¦ÓóÌÐòҪά»¤¸´ÔÓµÄ״̬»ú¡£
¼øÓÚ×èÈû·½Ê½ºÍ·Ç×èÈû·½Ê½¸÷ÓÐÓÅȱµã£¬CNC¡¡·þÎñÆ÷²ÉÓÃÁË»ìºÏ·½Ê½¡£Ö÷Ï̲߳ÉÓ÷Ç×èÈûµÄÏûÏ¢Çý¶¯·½Ê½£¬¿ÉÒÔ¿ìËÙÏìÓ¦¿Í»§»úµÄÈëÁ¬½Ó¡£ÔÚ×ÓÏß³ÌÖУ¬ÈÔ²ÉÓ÷Ç×èÈûµÄÏûÏ¢Çý¶¯·½Ê½½ÓÊÜ¿Í»§»úµÄÇëÇó£¬Ö»ÓÐÔÚÏìÓ¦ÇëÇóʱ£¬²ÉÓÃ×èÈûµÄ·½Ê½Ò»´ÎÐÔµØÍê³ÉÊý¾ÝµÄ·¢ËÍ»ò½ÓÊÕ¡£
5¡£5¡£4¡¡Ó¦ÓÃʾÀý
ͼ5¡£17¡¢Í¼5¡£18ÊDzμÓÐͬ¹¤×÷µÄÁ½¸ö¿Í»§³ÌÐòʾÀý£¬ÕâÁ½¸ö³ÌÐò¾ùÓÃIntra3D¡¡2¡£0¡¡ºÍCNC¡¡1¡£0¿ª·¢¡£Í¼5¡£17µÄ¿Í»§³ÌÐòÏòCNC¡¡·þÎñÆ÷¶©ÔÄ¡¡¡£3dsºÍ¡¡¡£obj¸ñʽµÄ¶à±ßÐÎÄ£ÐÍÊý¾Ý²¢Ö´Ðн»»¥Ê½»æÖÆ¡£Í¼5¡£18µÄ¿Í»§³ÌÐòÏòCNC¡¡·þÎñÆ÷¶©ÔÄÉÌҵͳ¼ÆͼÐÎÊý¾Ý²¢Ö´Ðн»»¥Ê½»æÖÆ¡£ÁíÓÐÒ»¸ö¿Í»§»ú£¨Êý¾ÝÔ´£©ÏòCNC¡¡·þÎñÆ÷·¢²¼¸÷ÖÖÊý¾Ý£¬²¢ÓÃ×é²¥À´Í¨Öª¸÷¸ö¿Í»§»úµ±Ç°·¢²¼ÁËʲôÊý¾Ý£¨¶ÌÏûÏ¢£©¡£
¡¡¡¡Intra3D¡¡2¡£0ºÍCNC¡¡1¡£0Ä¿Ç°ÒѾ¿ÉÒÔʵÓã¬ÇëÓë×÷ÕßÁªÏµ£¬Ãâ·ÑË÷È¡Èí¼þ¡£
5¡£6¡¡¡¡Ð¡¡¡½á
ÈÃÎÒÃÇÓÃÖøÃû3DÓÎÏ·Èí¼þQuakeµÄÉè¼ÆʦMichael¡¡Abrash¡¡µÄ»°×ܽ᱾Õ£º¡°ËùÓÐÕæÕý½Ü³öµÄÉè¼ÆÒ»µ©±»Éè¼ÆºÃ£¬¿´ÆðÀ´¶¼ÊÇÄÇôµÄ¼òµ¥ºÍÏÔ¶øÒ×¼û¡£µ«ÊÇÔÚ»ñµÃ½Ü³öÉè¼ÆµÄ¹ý³ÌÖУ¬ÐèÒª¸¶³öÁîÈËÄÑÒÔÖÃÐŵÄŬÁ¦¡£¡±£§Abrash¡¡1998£§
ͼ5¡£17¡¡¡¡»æÖÆ¡£3dsºÍ¡£objÄ£Ð͵Ŀͻ§³ÌÐò
ͼ5¡£18¡¡¡¡»æÖÆÉÌҵͳ¼ÆͼÐεĿͻ§³ÌÐò
µÚÁùÕ¡¡¡¡C£«£«ÃæÏò¶ÔÏó³ÌÐòÉè¼Æ
¡¡¡¡ÁùÄêÇ°£¬ÎÒ¸ÕÈÈÁµ¡°ÃæÏò¶ÔÏó¡±£¨Object¡Oriented£©Ê±£¬Ò»¿ÚÆø¼ÇסÁ˽üÊ®¸ö¶¨Òå¡£ÁùÄêºó£¬ÎÒ´Ó¼¸Ê®ÍòÐгÌÐòÖйöÅÀ³öÀ´×¼±¸Ð´µãÐĵÃÌå»áʱ£¬È´ÎÞ·¨½âÊÍʲôÊÇ¡°ÃæÏò¶ÔÏó¡±£¬¾ÍÏó˵²»Çå³þʲôÊÇÊýѧÄÇÑù¡£
¡¡¡¡Èí¼þ¹¤³ÌÖеÄʱ÷ÖÊõÓï¡°ÃæÏò¶ÔÏó·ÖÎö¡±ºÍ¡°ÃæÏò¶ÔÏóÉè¼Æ¡±£¬Í¨³£ÊÇÕë¶Ô¡°ÐèÇó·ÖÎö¡±ºÍ¡°ÏµÍ³Éè¼Æ¡±»·½ÚµÄ¡£¡°ÃæÏò¶ÔÏó¡±Óм¸´óѧÅÉ£¬¾ÍÏóÈçÀ´·ð¡¢ÉϵۺÍÕæÖ÷Óø÷×Եķ½Ê½¶¨ÒåÁËÕâ¸öÊÀ½ç£¬²¢ÁôÏÂÒ»¶Ñ¾ÊéÀ´½âÊÍÕâ¸öÊÀ½ç¡£
¡¡¡¡ÓÐЩѧÕß½¨ÒéÕâÑùÕÒ¡°¶ÔÏó¡±£º·ÖÎöÒ»¸ö¾ä×ÓµÄÓï·¨£¬ÕÒ³öÃû´ÊºÍ¶¯´Ê£¬Ãû´Ê¾ÍÊǶÔÏ󣬶¯´ÊÔòÊǶÔÏóµÄ·½·¨£¨¼´º¯Êý£©¡£
¡¡¡¡µ±Äê¹úÃñµ³µÄÎÄÈËΪÁ˶Կ¹Ã«Ô󶫵ġ¶ÇßÔ°´º¡¤Ñ©¡·£¬ÌØÒâÇëÇ峯ÒÅÀÏÃÇдÁËһЩ¶ÔÕ̹¤ÕûµÄÊ«£¬Ç뽯½éʯ¹ýÄ¿¡£ÀϽ¯¿´ÁËÆøµÃ´óÂ¡°Äïϣƥ£¬È«¶¼ÓÐÒ»¹É¹×²ÄÀ︯ʬµÄÆøζ¡£¡±
¡¡¡¡ÎÒ¿´Á˼¸Ç§Ò³µÄÈí¼þ¹¤³Ì×ÊÁÏ£¬ÖÕÓÚ·¢ÏÖ×Ô¼ºÓÐЩ¡°ÈõÖÇ¡±£¬ÎÞ·¨Àí½â¡°ÃæÏò¶ÔÏó¡±µÄÀíÂÛ£¬Í¬Ê±ÐÑÎòµ½¡°±à³ÌÊÇÓ²µÀÀí¡£¡±
¡¡¡¡ÃæÏò¶ÔÏó³ÌÐòÉè¼ÆÓïÑԺܶ࣬ÈçSmalltalk¡¢Ada¡¢Eiffel¡¢Object¡¡Pascal¡¢Visual¡¡Basic¡¢C£«£«µÈµÈ¡£C£«£«ÓïÑÔ×îÌÖÈËϲ»¶£¬ÒòΪËü¼æÈÝCÓïÑÔ£¬²¢ÇҾ߱¸CÓïÑÔµÄÐÔÄÜ¡£½ü¼¸Ä꣬һÖÖ½ÐJavaµÄ´¿ÃæÏò¶ÔÏóÓïÑԺ켫һʱ£¬²»ÉÙÈ˽к°×ÅÒªÓÃJava¸ïC£«£«µÄÃü¡£ÎÒÈÏΪJavaºÃ±ÈÊÇC£«£«µÄÍâÉû£¬ËäÈ»²»ÊÇÖ±½ÓÒÅ´«µÄ£¬µ«Ò²¼¸·ÖÏóÑù¡£ÍâÉûÔھ˾ËÉíÉÏÍæˣʱÈ÷ÁËÒ»ÅÝÄò£¬Á©È˲»¸ÃΪ´Ë¶øÕù³³¡£
¡¡¡¡¹ØÓÚC£«£«³ÌÐòÉè¼ÆµÄÊé½å·Ç³£¶à£¬±¾Õ²»½²C£«£«µÄÓï·¨£¬Ö»½²Ò»Ð©Ð¡Ð¡µÄ±à³ÌµÀÀí¡£Èç¹ûÎÒÄÜÔ缸ÄêÃ÷°×ÕâЩСµÀÀí£¬¾Í¿ÉÒÔ´ó´ó¸ÄÉÆÊýÊ®ÍòÐгÌÐòµÄÖÊÁ¿ÁË¡£
6¡£1¡¡¡¡C£«£«ÃæÏò¶ÔÏó³ÌÐòÉè¼ÆµÄÖØÒª¸ÅÄî
¡¡¡¡ÔçÆÚ¸ïÃüӰƬÀïÓÐÕâÑùÒ»¸ö½ÇÉ«£¬Ëû˵£º¡°ÎÒÊǵ³´ú±í£¬ÎÒ´ú±íµ³£¬ÎÒ¾ÍÊǵ³¡£¡±ºóÀ´Ëû¸øͬ־ÃÇ´øÀ´ÁËÔÖÄÑ¡£
¡¡¡¡»áÓÃC£«£«µÄ³ÌÐòÔ±Ò»¶¨¶®µÃÃ