鍦ˋI妯″潡鐨刄pdate(float dt)涓牴鎹瓵I鐨勫嚑縐嶅彲鑳芥ц繘琛岀浉搴旂殑鏇存柊錛屾瘮濡?br>
1 void CAI::Update錛?/span>float dt錛?br>2 {
3 // 鏇存柊鏀誨嚮鐩爣錛屾病鏈夌洰鏍囧鎵?/span>
4 UpdateTarget()錛?br>5 // 鏇存柊鎴樻枟
6 UpdateCombat()錛?br>7 // 鏇存柊縐誨姩
8 UpdateMove();
9 }
鍦ㄧ浉搴旂殑Update涓幓媯嫻嬫湁娌℃湁鐘跺喌鍙戠敓錛屾瘮濡傚湪UpdateTarget錛堬級涓紝榪欎釜鎬墿鍙戠幇涓涓帺瀹惰繘鍏ヤ簡鑷繁鐨勫湴鐩橈紝瑕佹涔嬶紝鍒欏彂閫佷竴涓簨浠剁粰涓涓鐞嗕簨浠剁殑鍑芥暟ProcessEvent(int nEvent),榪欎釜浜嬩歡鍙兘浼氳繘鍏ヤ竴涓姸鎬佹満鐒跺悗鍦ㄦ洿鏀瑰埌涓涓繘鍏ユ垬鏂楃殑鐘舵侊紝璋冪敤鐩稿簲鐨勮剼鏈嚱鏁幫紝鍦ㄨ繖涓剼鏈嚱鏁伴噷灝卞幓鍋氳嚜宸辨兂鍋氱殑浜嬨?br> 浣嗘槸榪欐牱鐨刄pdate騫朵笉濂斤紝鎬濊冧簡涓涓嬭寰楄繕鏄浠I鐘舵佷負鍩哄噯鏉pdate姣旇緝閫傚悎鍜岃剼鏈氦浜掋?br>
1 void CAI::Update(float dt)
2 {
3 switch(m_nState)
4 {
5 case IDLE:
6 {
7 // 璋冪敤鑴氭湰錛屽彲鑳戒細璋冪敤瀵繪壘鐩爣鐨勬帴鍙?/span>
8 }
9 break;
10 case COMBAT:
11 {
12 // 璋冪敤鑴氭湰錛岃皟鐢ㄦ垬鏂楁帴鍙?/span>
13 }
14 break;
15 }
16 }
榪欐牱灝辨瘮杈冪伒媧諱簡銆傝剼鏈彧鏄▼搴忓憳鐢ㄦ潵瑙f斁鍔沖姩鍔涚殑涓縐嶆柟寮忥紝鍋氬ソ鍔熻兘鎺ュ彛璁╂洿澶氶潪涓撲笟紼嬪簭鍛樹篃鑳藉畾鍒舵父鎴忓唴瀹癸紝榪欐槸鑷繁瀵逛簬鑴氭湰鐨勭悊瑙c備絾鏄病鏈夎剼鏈氦浜掔粡楠岋紝鑷充簬鏆撮湶緇欑瓥鍒掔殑鎺ュ彛璇ユ湁鍝簺錛屾庢牱絳栧垝鐢ㄧ潃鑸掓湇錛岃嚜宸辮繕娌℃兂濂斤紝濡傛灉鍦–++涓紝榪欎簺鍩烘湰鍑芥暟鍙互鑷繁鏉ュ仛,鐩存帴鎶婇昏緫鍐欒繘IDLE鐨刢ase閮藉彲浠ワ紝浣嗙敤鑴氭湰鏂瑰紡榪涘叆IDLE鐘舵佸悗錛岃剼鏈噷鑲畾搴旇鏈塅indTarget()榪欐牱鐨勬帴鍙o紝閭d箞榪欎竴鍙indTarget()浜ょ粰絳栧垝鍘誨~涓婏紵鎴戣寰楄繕涓嶅鐩存帴鍦–++浠g爜涓ˉ涓婁竴鍙ユ潵寰楀疄鍦紝絳栧垝鑲畾涓嶄細鐩存帴鍘誨湪鑴氭湰鎺ュ彛閲屽幓if else,鑴氭湰鐨勬彁渚涜繕鐪熸槸浼よ剳絳嬶紝渚嬪榪涘叆鎴樻枟鐘舵佷簡錛岃皟鐢ㄨ剼鏈噷鐨勬垬鏂楁帴鍙o紝榪欎釜鎺ュ彛閲屽張鎬庢牱璋冪敤C++鎻愪緵鐨勬帴鍙o紝鎵鏈夌殑鎴樻枟榪囩▼閮藉皝瑁呮垚涓涓帴鍙g粰絳栧垝錛熼偅榪欎釜鎺ュ彛灝佽鐨勫姛鑳藉彲鑳戒細寰堝寰堝錛屾棤鐤戞槸澧炲姞浜嗗伐浣滈噺錛屽茍涓旂瓥鍒掔殑浣跨敤涔熶細鏈夊眬闄愭с傝繕鏄叾涓殑閫昏緫浠嶇劧鐢辯▼搴忓憳鏉ョ紪鍐欙紵璇ュ浣曠粍緇囧憿銆傚彟澶栨瘡涓甯х殑鏇存柊閮藉洖鍘昏皟鐢ㄨ剼鏈紝榪欏叾涓緱娑堣楀灝戯紵

]]>