飞飞世界论坛

标题: 给npc名字换个颜色 [打印本页]

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************
: W3 }1 M6 g* F8 a- N( n* f: r" o
Mover.h/ K7 l" Y3 E( o7 |0 a3 v0 P
, w$ c1 ?2 x( y% ]* g
**************************
1 R- X' P5 r) F/ x% v0 ?, s8 o& p+ ]4 b- A
% K" r1 m) p) k0 Q搜索: BOOL   IsPeaceful()这个函数
9 c* Z! |/ ^6 p8 |9 _  `
3 R  x1 T2 N4 c* Y& x修改为:
" y1 m* V- q( C4 r$ ^* f) w5 ~) n& L0 b3 l9 @) @
BOOL   IsPeaceful() 6 d  j+ N8 i+ K4 p" \
{
( ^4 s, i) O' W% g; t& M  if(m_dwBelligerence == BELLI_PEACEFUL)# F- A, `$ k" N* m9 X4 j, X/ _
   return 1;
* g. I3 C! U% h4 j4 G- `  if(m_dwBelligerence == BELLI_PEACEFUL_R)
9 j. j# P& r( _$ Z   return 2;
6 U4 d+ K2 l5 k$ q  return 0;
' @* v1 j% m* Q# P& b' `: l+ R$ ]
9 T2 d" U) q: M }  y4 ~. X3 x, t) Q
* c1 X8 |3 O# I
其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。
6 X* N- M7 K4 x1 Q' L
$ N% N. p  u/ l# i8 q; D: f$ d****************************& e  S7 P. m2 Z7 @% x1 ^  f9 e4 A
4 `0 ~3 r: e2 F5 m$ \( N3 k
MoverRender.cpp
, ^2 W. f; n  W/ a) `5 a- X. G2 y0 G' c9 K2 D: Z
*****************************
( C; R* @+ u2 X; S2 i6 K) V# F# a
# a# B, C3 o0 T/ ?搜索:if( IsPeaceful() )
, {/ a% U6 Z5 R0 t% \5 Y& K, \& b7 c) l  ~3 M3 q* ~! V4 A
修改为:
& f6 V# @2 x6 ^0 _, ~' g9 n' K' s  k4 n
   if( IsPeaceful() )
$ W/ b% q- F4 t$ y- g, R5 Z   {
' P2 y+ j! X# o/ O9 q/ f: A    switch(IsPeaceful())" l6 `) ~7 U1 \) C- c' B
    {0 o, Q. Q8 v) d6 O$ v
     case 1:2 y  P$ L' o1 s, T: l
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示: A* g' E& d1 f1 M6 s, q- M
       break;
: h6 p+ l/ ~3 X' W" p1 |  t* E     case 2:- \% E, q) e+ D4 D
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示
* M- Q; f( h& J0 @       break;$ y- i3 ^$ V1 @. X; N8 v+ U
    }) _# A. r5 k# ]$ v( o; M; F3 z
   }' J% B2 C. L' `* V- f3 ^
   else/ i$ x7 b6 ~4 N, B: `  s4 n8 T
   {* @& a( x: [$ S# @: U
    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.
6 k4 U* m, K3 ~# ~. k    {
9 Y9 b  ?; ?3 @! @  @+ B8 X* E     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      
* w+ W2 T" y2 i4 V4 U+ i* S2 I    } else
% U- C% K$ c& d; u    {
' d9 N5 j) w" T) N0 J     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );( ?" b5 v( R* f7 i7 q8 E
    }0 M8 m% N  y! D" [8 G% y

3 W' e/ T: l( ^使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。
  g4 m. G" ]$ e+ ~7 J; k* @0 I5 N% M9 s; q
自定义多个状态即可实现多种颜色的显示。
9 G* `; j  Y! o, f, \
+ @( |7 u. c5 H# n3 V( v, B
5 Q. A5 k1 l3 D0 f, l




欢迎光临 飞飞世界论坛 (http://ffwold.com/) Powered by Discuz! X3.2