Mushroom.hpp
上传用户:zhj2929
上传日期:2022-07-23
资源大小:28772k
文件大小:2k
源码类别:

游戏引擎

开发平台:

Visual C++

  1. #ifndef _MUSHROOM_HPP_
  2. #define _MUSHROOM_HPP_
  3. class Mushroom: public MoveableObject
  4. {
  5. private:
  6. JSprite* mRun;
  7. TileMap* mMap;
  8. u8 mTileInfo;
  9. public:
  10. Mushroom(GameStatePlay* app);
  11. virtual ~Mushroom();
  12. virtual void Update(float dt);
  13. virtual void HitLeft();
  14. virtual void HitRight(int left, int right, int row);
  15. void Spawn(int col, int row);
  16. };
  17. Mushroom::Mushroom(GameStatePlay* app): MoveableObject(app)
  18. {
  19.     mMap = mApp->GetTileMap();
  20. mRun = new JSprite(mTexture, 205,245,101,90);
  21. mRun->SetHotSpot(0.0f, 77.0f);
  22. mRun->AddFrame(409,245,101,90);
  23. mRun->AddFrame(309,245,101,90);
  24. mRun->SetDuration(200.0f);
  25. mRun->StartAnimation();
  26. mCurrAnimation = mRun;
  27. mYRenderOffset = 6.0f;
  28. mXVelocity = -DEFAULT_WALK_SPEED/2;
  29. mFlipped = false;
  30. mHScale = 0.80f;
  31. mVScale = 0.80f;
  32. mLeftAdjustment = 23;
  33. mRightAdjustment = 47;
  34. mHitLeftAdjustment = 2;
  35. mHitRightAdjustment = 46;
  36. mFallLeftAdjustment = -20;
  37. mFallRightAdjustment = -10;
  38. mRealHeight = 60;
  39. }
  40. Mushroom::~Mushroom()
  41. {
  42. delete mRun;
  43. }
  44. void Mushroom::Update(float dt)
  45. {
  46.     
  47. MoveableObject::Update(dt);
  48. }
  49. void Mushroom::Spawn(int col, int row)
  50. {
  51. mX = (float)(col<<TILE_SHIFT);
  52. mY = (float)((row+1)<<TILE_SHIFT) - 1.0f;
  53. SetActive(true);
  54. }
  55. void Mushroom::HitLeft()
  56. {
  57. mXVelocity = DEFAULT_WALK_SPEED/2;
  58. mCurrAnimation->SetFlip(true);
  59. }
  60. void Mushroom::HitRight(int left, int right, int row)
  61. {
  62. mXVelocity = -DEFAULT_WALK_SPEED/2;
  63. mCurrAnimation->SetFlip(false);
  64. }
  65. #endif