´«ÆæFIR0918Ô´ÂëÉî¶È½âÎö£ºActor¼Ì³Ð¹ØÏµÓëÉè¼ÆÈ±ÏÝÆÊÎö

À´Ô´£º ×÷Õߣº µã»÷£º
FIR0918ÊÇÈÈѪ´«Ææ·þÎñ¶Ë¿ª·¢È¦×ÓÀïÁ÷´«½Ï¹ãµÄÒ»Ì×DelphiÔ´Â룬³£±»³ÆÎª“·É¶ûÊÀ½ç”°æ±¾¡£ÕâÌ×´úÂëËäÈ»ÄÜÅÜÆðÀ´£¬µ«ËüµÄÀà¼Ì³Ð½á¹¹ÔÚ¿ª·¢ÕßÉçÇøÖÐÕùÒ鲻С¡£ÏÂÃæ²ð½âÆäºËÐĵÄActor¼Ì³ÐÌåϵ£¬²¢·ÖÎöÆäÖеÄÉè¼ÆÎÊÌâ¡£

**»ù´¡ÀࣺTBaseObject**

TBaseObjectÊÇÕû¸ö¶ÔÏóÌåϵµÄ¸ù»ù£¬µ«Éè¼ÆµÃ¼«Îª¾«¼ò¡£Õâ¸öÀàÄÚ²¿Ö»´æ·ÅÁËËĸö³ÉÔ±£º¶ÔÏóËùÔÚµØÍ¼µÄX×ø±ê¡¢Y×ø±ê¡¢¶ÔÏóÀàÐͱêʶ·û£¨ÓÃÓÚÇø·ÖÍæ¼Ò¡¢Ó¢ÐÛ¡¢NPC¡¢Ê¼þµÈ£©£¬ÒÔ¼°Ò»¸öͨ¹ýGetTickCount»ñÈ¡µÄ¶ÔÏó´´½¨Ê±¼ä´Á¡£³ÉÔ±º¯Êý·½ÃæÖ»°üº¬ÁËÒ»¸ö¹¹Ô캯Êý¡£¿ÉÒÔ˵£¬Õâ¸öÀ༸ºõÖ»¶¨ÒåÁËÒ»¸ö¶ÔÏóÔÚÓÎÏ·ÊÀ½çÖеēλÖԺ͓Éí·Ý±êÇ©”¡£

**¸ß¶ÈñîºÏµÄ³éÏóÀࣺTActorObject**

TActorObjectÔÚ´úÂëÒâͼÉÏÊÇ×÷ΪËùÓпÉÐж¯¶ÔÏó£¨Actor£©µÄ³¬Àà´æÔڵģ¬Ô­±¾Ó¦Æðµ½·º»¯ÈËÎï¡¢¹ÖÎï¡¢NPCµÄ³éÏó×÷Óá£È»¶øÕâÌ×Ô´ÂëÔÚÉè¼ÆÉÏ´æÔÚÑÏÖØÈ±ÏÝ——¸ÃÀàÄÚ²¿ñîºÏÁË´óÁ¿Ô­±¾Ö»ÊôÓÚÍæ¼ÒµÄ³ÉÔ±±äÁ¿£¬±ÈÈçÍøÂçͨÐŵÄSocket¾ä±ú¡¢½ÇÉ«µÄÒ·þÍâ¹ÛÄ£ÐÍ¡¢ÒÔ¼°ËùÊôÐлáµÄÏà¹ØÐÅÏ¢¡£

ÔÚÊôÐÔ¹ÜÀí·½Ãæ£¬TActorObjectÄÚ²¿¶¨ÒåÁËÈý¸ö½á¹¹Ì壺m_Abil¼Ç¼ÈËÎïµÈ¼¶¶ÔÓ¦µÄ»ù´¡ÊôÐÔ¡¢m_WAbil×÷ΪÖ÷ÒªÊôÐÔÖµ£¨Êµ¼ÊÕ½¶·ÖеĹ¥»÷É˺¦ÒԴ˽ṹÌåÊý¾Ý¼ÆË㣩¡¢m_AddAbil¼Ç¼´©´÷×°±¸ÌṩµÄ¸½¼ÓÊôÐÔ¡£¼ÆËãÂß¼­Êǽ«m_AbilºÍm_AddAbilÏà¼Óºó¸³Öµ¸øm_WAbil×÷Ϊ×îÖÕ½á¹û¡£

**ÈßÓàµÄÖмä²ã£ºTAnimalObject**

TAnimalObjectʵÏÖÁËËÑѰĿ±ê¡¢¹¥»÷Åж¨¡¢Ëæ»úÒÆ¶¯ÒÔ¼°SocketÏûÏ¢µÄ³õ²½´¦Àí¡£ÓзÖÎöÖ¸³ö£¬´ËÀàʵÏֵŦÄܱ¾Ó¦Ö±½ÓÕûºÏ½øTActorObjectÖУ¬¶à³öÕâÒ»²ã¼Ì³Ð¹ØÏµÊôÓÚÉè¼ÆÉϵÄÈßÓà¡£ÕâÖֲַ㲻½öûÄÜ´øÀ´ÇåÎúµÄÖ°Ôð»®·Ö£¬·´¶øÈõ÷ÓÃÁ´±äµÃ¸ü¸´ÔÓ¡£

**¹ÖÎïÓëAIµÄʵÏÖ·¾¶**

TMonster×÷ΪËùÓйÖÎïÀàµÄ»ùÀ࣬Ö÷ҪʵÏÖÁ˹¥»÷Ä¿±êÑ¡ÔñºÍ»ù±¾Âß¼­´¦Àí£¨Í¨¹ýRunº¯Êý£©¡£ËüµÄ×ÓÀàÈôҪʵÏÖй¦ÄÜ£¬»ù±¾·½Ê½ÊÇÔÚRunº¯ÊýÄÚ½øÐÐÖØÐ´¸²¸Ç¡£

TAIObjectµÄ¶¨Î»ÊÇΪӢÐۺͼÙÈËʵÏÖ×Ô¶¯»¯¿ØÖƹ¦ÄܶøÉè¼ÆµÄ³éÏóÀà¡£µ«´ÓÂß¼­ÉÏ¿´£¬×Ô¶¯¿ØÖƲ¢·ÇÍæ¼ÒµÄ±ØÒª¹¦ÄÜ£¬Òò´ËÓзÖÎöÈÏΪTAIObjectÓ¦¸Ã±»TPlayObject¼Ì³Ð£¬»òÕßÌáÈ¡³ö½Ó¿ÚÈÃÍæ¼ÒºÍÓ¢ÐÛ¸÷×ÔʵÏÖ£¬¶ø²»ÊÇ·´¹ýÀ´ÈÃTPlayObjectÈ¥¼Ì³ÐTAIObject¡£

**NPCÌåϵÓëÉè¼Æ»ìÂÒ**

TNormalNPCʵÏÖÁ˶Խű¾¹¦ÄÜ£¨#IF #ACTÌõ¼þÖ§³Ö£©µÄ½âÎöÄÜÁ¦¡£µ«Ææ¹ÖµÄÊÇ£¬Õâ¸öNPCÀྐྵȻ´ÓTAnimalObject¼Ì³Ð£¬¶øÊµ¼ÊÉÏÎÀÊ¿ÀàTSuperGuardËäÈ»¼Ì³Ð×ÔTNormalNPC£¬È´Ö»Ê¹ÓÃÁ˹¥»÷Íæ¼ÒµÄ·½·¨£¬ÍêÈ«Óò»ÉÏTNormalNPCʵÏֵĸ´Ôӽű¾¹¦ÄÜ¡£ÕâÖּ̳йØÏµ±íÃ÷£¬ÕâÌ×Ô´ÂëÔÚÀàÖ°Ôð»®·ÖÉÏ´æÔÚÃ÷ÏÔµÄÂß¼­»ìÂÒ¡£

**ÕûÌåÆÀ¼ÛÓëÖØ¹¹½¨Òé**

FIR0918Ô´ÂëµÄActor¼Ì³Ð¹ØÏµ¿ÉÒÔ¼ò»¯ÎªÒ»ÌõÖ÷ÏߣºTBaseObject → TActorObject → TAnimalObject → TPlayObject¡£µ«ÅÉÉúÀàÖвôÔÓÁË´óÁ¿ÎÞ¹ØÖ°Ôð£¬TActorObject²»¸ÃñîºÏÍæ¼ÒÌØÓеÄÍøÂç¾ä±úºÍÐлáÊý¾Ý£¬TAnimalObject´æÔڵıØÒªÐÔÒ²´æÒÉ¡£Óо­ÑéµÄ¿ª·¢Õß½¨Ò飬Èç¹ûÒªÔÚÕâÌ×Ô´Âë»ù´¡ÉϽøÐжþ´Î¿ª·¢£¬ÀíÓ¦½«TActorObjectÖÐñîºÏµÄÍæ¼Ò³ÉÔ±°þÀë³öÈ¥£¬²¢ÖØÐÂÉóÊÓTAnimalObjectµÄ¹¦ÄܹéÊô£¬½«ËÑѰÓë¹¥»÷µÈ»ù´¡AIÐÐΪϳÁ»ØTActorObjectʵÏÖ¡£