📄 badfish.hpp
字号:
#ifndef _BADFISH_HPP_
#define _BADFISH_HPP_
class BadFish: public MoveableObject
{
private:
JSprite* mRun;
JSprite* mIdle;
JSprite* mJump;
JSprite* mDuck;
float mTall;
int mCoinCount;
int mCurLife;
JTexture* mTexture_2;
public:
BadFish(GameStatePlay* app);
virtual ~BadFish();
virtual void Update(float dt);
//virtual void HitLeft();
//virtual void HitRight();
int GetCoinCount();
int GetCurLife();
void SetCoinCount(int count);
void SetCurLife(int life);
bool md;
};
BadFish::BadFish(GameStatePlay* app): MoveableObject(app)
{
md = false;
mTexture_2 = mEngine->LoadTexture("Res/zhangyu.png", true);
//mMap = mApp->GetTileMap();
//这里的mTexture是GameStatePlay里的mTexture也就是BadFish的纹理
//mIdle = new JSprite(mTexture, 0, 0, 100, 95);
//mIdle->SetHotSpot(0.0f, 95.0f);
mJump = new JSprite(mTexture_2, 0, 0, 100, 95);
mJump->SetHotSpot(0.0f, 95.0f);
//mDuck = new JSprite(mTexture, 400, 0, 100, 95);
//mDuck->SetHotSpot(0.0f, 95.0f);
//设置与走路相关的动画
//mRun = new JSprite(mTexture, 0, 0, 100, 95);
//mRun->SetHotSpot(0.0f, 95.0f);
//mRun->AddFrame(100,0,100,95);
//mRun->AddFrame(200,0,100,95);
//mRun->StartAnimation();
//设置初始动作为mIdle
mCurrAnimation = mJump;
mCurrAnimation->SetFlip(false);
mX = 320.0f;
mY = 300.0f;
mTall = 64.0f;
// mFlipped = true;
// mJumping = false;
mXVelocity = -DEFAULT_WALK_SPEED;
mYVelocity = 0.0f;
mFlipped = false;
mYRenderOffset = 3.0f;
mHScale = 0.70f;
mVScale = 0.70f;
mLeftAdjustment = 23;
mRightAdjustment = 47;
mHitLeftAdjustment = 12;
mHitRightAdjustment = 58;
mFallLeftAdjustment = -20;
mFallRightAdjustment = -10;
}
BadFish::~BadFish()
{
//delete mRun;
//delete mIdle;
//delete mDuck;
delete mJump;
}
/*void BadFish::HitLeft()
{
mXVelocity = DEFAULT_WALK_SPEED;
mFlipped = true;
mCurrAnimation->SetFlip(true);
}
void BadFish::HitRight()
{
mXVelocity = -DEFAULT_WALK_SPEED;
mFlipped = false;
mCurrAnimation->SetFlip(false);
}*/
void BadFish::Update(float dt)
{
if (!mJumping)
{
if(mY >= 447)
{ //这一段描述了Mario的跳跃情况
mCurrAnimation = mJump;
mJumping = true;
mYVelocity = 0.9*BIGM_INITIAL_JUMP_VEL;
mApp->PlaySfx(SFX_JUMP2);
}
}
if(mX <= 16){
mXVelocity = -mXVelocity;
mX += (16 - mX) * 2;
mCurrAnimation->SetFlip(true);
}
if(mX >= 552){
mXVelocity = -mXVelocity;
mX -= (mX - 552) * 2;
mCurrAnimation->SetFlip(false);
}
MoveableObject::Update(dt);
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -