LEG.H
上传用户:abcdshs
上传日期:2007-01-07
资源大小:1858k
文件大小:2k
源码类别:

游戏

开发平台:

Visual C++

  1. // (C) Copyright 1996 by Anthony J. Carin.  All Rights Reserved.
  2. #ifndef LEG_H
  3. #define LEG_H
  4. #include "baseobj.h"
  5. #include "attach.h"
  6. #include "personal.h"
  7. class shin;
  8. class leg : public baseobject
  9. {
  10. public:
  11.          leg(personal *p);
  12.         ~leg();
  13. void     setcolor(COLORREF c);
  14. void     draw();
  15. void     setto(view& c);
  16. void     bendknee(float v);
  17. private:
  18. attachment *knee;
  19. shin       *m_shin;
  20. };
  21. class foot;
  22. class shin : public baseobject
  23. {
  24. public:
  25.          shin(personal *p);
  26.         ~shin();
  27. void     setcolor(COLORREF c);
  28. void     draw();
  29. void     setto(view& c);
  30. private:
  31. attachment *ankle;
  32. foot       *m_foot;
  33. };
  34. class foot : public baseobject
  35. {
  36. public:
  37.          foot(personal *p);
  38.         ~foot();
  39. };
  40. class totalleg
  41. {
  42. public:
  43.          totalleg(coordinate& offset, personal *p);
  44.         ~totalleg();
  45. void     setto(view& c)       { legjoint->setto(c); }
  46. void     setcolor(COLORREF c) { m_leg->setcolor(c); }
  47. void     draw()               { legjoint->draw(); }
  48. void     raisefoward(float v);
  49. void     raisebackward(float v);
  50. void     raisesideward(float v);
  51. void     bendknee(float v);
  52. private:
  53. attachment *legjoint;
  54. leg        *m_leg;
  55. };
  56. inline void leg::bendknee(float v)
  57. {
  58.     m_shin->setxposition((direction) (short)(TC_PI*v));
  59. }
  60. inline void totalleg::raisefoward(float v)
  61. {
  62.     m_leg->setxposition((direction) (-TC_PI*v));
  63. }
  64. inline void totalleg::raisebackward(float v)
  65. {
  66.     m_leg->setxposition((direction) (TC_PI*v));
  67. }
  68. inline void totalleg::raisesideward(float v)
  69. {
  70.     m_leg->setzposition((direction) (TC_PI*v));
  71. }
  72. inline void totalleg::bendknee(float v)
  73. {
  74.     m_leg->bendknee(v);
  75. }
  76. #endif