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

游戏

开发平台:

Visual C++

  1. // (C) Copyright 1996 by Anthony J. Carin.  All Rights Reserved.
  2. #include "stdafx.h"
  3. #include "leg.h"
  4. leg::leg(personal *p) : baseobject(p->thigh())
  5. {
  6.    coordinate tmp(0.0f,-0.5f*p->hight(),0.0f);
  7.    knee    = new attachment(tmp);
  8.    m_shin  = new shin(p);
  9.    knee->attachto(m_shin);
  10. }
  11. leg::~leg()
  12. {
  13.    delete knee;
  14.    delete m_shin;
  15. }
  16. void leg::setcolor(COLORREF c)
  17. {
  18.    baseobject::setcolor(c);
  19.    m_shin->setcolor(c);
  20. }
  21. void leg::draw()
  22. {
  23.    baseobject::draw();
  24.    knee->draw();
  25. }
  26. void leg::setto(view& c)
  27. {
  28.    baseobject::setto(c);
  29.    knee->setxoff(xposition);
  30.    knee->setyoff(yposition);
  31.    knee->setzoff(zposition);
  32.    knee->setto(c);
  33. }
  34. shin::shin(personal *p) : baseobject(p->lowerleg())
  35. {
  36.    coordinate tmp(0.0f,-0.5f*p->hight(),0.0f);
  37.    ankle    = new attachment(tmp);
  38.    m_foot  = new foot(p);
  39.    ankle->attachto(m_foot);
  40. }
  41. shin::~shin()
  42. {
  43.    delete ankle;
  44.    delete m_foot;
  45. }
  46. void shin::setcolor(COLORREF c)
  47. {
  48.    baseobject::setcolor(c);
  49. }
  50. void shin::draw()
  51. {
  52.    baseobject::draw();
  53.    ankle->draw();
  54. }
  55. void shin::setto(view& c)
  56. {
  57.    baseobject::setto(c);
  58.    ankle->setxoff(xposition);
  59.    ankle->setyoff(yposition);
  60.    ankle->setzoff(zposition);
  61.    ankle->setto(c);
  62. }
  63. foot::foot(personal *p) : baseobject(p->foot())
  64. {
  65.     setcolor(RGB(10,10,10));
  66. }
  67. foot::~foot()
  68. {
  69. }
  70. totalleg::totalleg(coordinate& offset, personal *p)
  71. {
  72.    legjoint = new attachment(offset);
  73.    m_leg    = new leg(p);
  74.    legjoint->attachto(m_leg);
  75. }
  76. totalleg::~totalleg()
  77. {
  78.    delete m_leg;
  79.    delete legjoint;
  80. }