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

游戏引擎

开发平台:

Visual C++

  1. //-------------------------------------------------------------------------------------
  2. //
  3. // This is part of MarioDemo, a platformer demo for JGE++
  4. // 
  5. // Copyright (C) 2006 James Hui (a.k.a. Dr.Watson)
  6. // 
  7. // This program is free software; you can redistribute it and/or modify it
  8. // under the terms of the GNU General Public License as published by the Free
  9. // Software Foundation; either version 2 of the License, or (at your option) any
  10. // later version.
  11. // 
  12. // This program is distributed in the hope that it will be useful, but WITHOUT
  13. // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  14. // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
  15. // 
  16. // You should have received a copy of the GNU General Public License along with
  17. // this program; if not, write to the Free Software Foundation, Inc., 59 Temple
  18. // Place, Suite 330, Boston, MA 02111-1307 USA
  19. // 
  20. // Bugs and comments can be forwarded to jhkhui@yahoo.com. 
  21. // 
  22. //-------------------------------------------------------------------------------------
  23. #ifndef _STATIC_COIN_HPP_
  24. #define _STATIC_COIN_HPP_
  25. class Question: public GameObject
  26. {
  27. private:
  28. JSprite* question[10];
  29. int counter;
  30.     int current;
  31. bool flag;
  32. public:
  33. Question(GameStatePlay* app);
  34. virtual ~Question();
  35. virtual void Update(float dt);
  36. virtual void Render();
  37.     void         setCurrent(int a);
  38. };
  39. Question::Question(GameStatePlay* app): GameObject(app)
  40. {
  41. for(int i = 0 ; i < 10 ; i++)
  42. {
  43. question[i] = new JSprite(mQuestion, i*160, 0.0f, 1600.0f, 100.0f);
  44. // mAnimatedCoin->AddFrame(129,97,30,30);
  45. // mAnimatedCoin->AddFrame(129,97,30,30,true);
  46. // mAnimatedCoin->AddFrame(97,97,30,30,true);
  47. //mAnimatedCoin->StartAnimation();
  48. question[i]->SetHotSpot(80*i, 50.0f);
  49. }
  50. flag = 0 ;
  51. //mAnimatedCoin->SetDuration(80);
  52. //mCurrAnimation = question;
  53. }
  54. Question::~Question()
  55. {
  56. for(int i = 0 ; i<10 ; i++)
  57. delete question[i];
  58. }
  59. void Question::Update(float dt)
  60. {
  61. if(counter < 30 )
  62. {
  63. counter++;
  64. flag = true;
  65. }
  66. else
  67. {
  68. counter=0;
  69. flag = 0 ;
  70. }
  71. }
  72. void Question::Render()
  73. {
  74. float x, y;
  75. mMap->GetPosition(&x, &y);
  76.     if(flag)
  77. question[current]->AddFrame(mX-x-32, mY-y-64 , 160 , 100 );
  78. }
  79. void Question::setCurrent(int a )
  80. {
  81. current = a ;
  82.   
  83. }
  84. #endif