diff --git a/Classes/MainScene.cpp b/Classes/MainScene.cpp index eab59f9..2f56863 100644 --- a/Classes/MainScene.cpp +++ b/Classes/MainScene.cpp @@ -7,7 +7,6 @@ #include "imgui.h" #include "IdleBehaviour.h" #include "Enemy.h" -#include "NoticeBox.h" USING_NS_CC; diff --git a/Classes/enemies/AgressiveBehaviour.cpp b/Classes/enemies/AgressiveBehaviour.cpp index 5b1eb38..5365ae7 100644 --- a/Classes/enemies/AgressiveBehaviour.cpp +++ b/Classes/enemies/AgressiveBehaviour.cpp @@ -48,7 +48,7 @@ void AgressiveBehaviour::perform(IEnemy* enemy, Vec2 targetPos, float dt) { if (enemy->getName().substr(0, 5) == "Aboba") { if (_moveCooldown <= 0) { _moveCooldown = MOVE_COOLDOWN; - if (enemy->getShootTarget().x > enemy->getPositionX()) { + if (enemy->getShootTarget().x > enemy->getPositionX() && enemy->getScaleX() > 0) { auto scale = enemy->getScaleX(); enemy->setScaleX(-scale); } @@ -63,7 +63,7 @@ void AgressiveBehaviour::perform(IEnemy* enemy, Vec2 targetPos, float dt) { enemy->runAction(spawn); } _moveCooldown -= dt; - //enemy->hit(); + enemy->hit(); } if (enemy->getName().substr(0, 4) == "Wolf") { if (_moveCooldown <= 0) { diff --git a/Classes/enemies/Enemy.cpp b/Classes/enemies/Enemy.cpp index a7385ea..2b28eb3 100644 --- a/Classes/enemies/Enemy.cpp +++ b/Classes/enemies/Enemy.cpp @@ -91,7 +91,7 @@ bool Enemy::init(std::string type) { setShootingPattern(shootingPatternInfo); } } -a if (ent.HasMember("components")) { + if (ent.HasMember("components")) { const rapidjson::Value& compEnt = ent["components"]; if (compEnt.HasMember("textureFile")) { const rapidjson::Value& fileName = compEnt["textureFile"]; diff --git a/Classes/enemies/IEnemy.cpp b/Classes/enemies/IEnemy.cpp index 1728d0d..5091020 100644 --- a/Classes/enemies/IEnemy.cpp +++ b/Classes/enemies/IEnemy.cpp @@ -211,6 +211,10 @@ void IEnemy::createHpLabel() { void IEnemy::updateHpLabel() { _hpLabel->setString(std::to_string(_hp)); + if (getScaleX() > 0 && _hpLabel->getScaleX() > 0) { + auto hpLabelScaleX = _hpLabel->getScaleX(); + _hpLabel->setScaleX(-hpLabelScaleX); + } } const cocos2d::Vector IEnemy::getIdleFrames() const { @@ -226,7 +230,9 @@ const cocos2d::Vector IEnemy::getMoveFrames() const { } void IEnemy::setBehaviour(IEnemyBehaviour* behaviour) { - delete _behaviour; + if (!_behaviour) { + delete _behaviour; + } _behaviour = behaviour; } diff --git a/Classes/player/Player.cpp b/Classes/player/Player.cpp index 291934d..62edad2 100644 --- a/Classes/player/Player.cpp +++ b/Classes/player/Player.cpp @@ -56,22 +56,22 @@ bool Player::init() { const rapidjson::Value& valueEnt = playerEnt["specifications"]; if (valueEnt.HasMember("hp") && valueEnt.HasMember("mana") && valueEnt.HasMember("speed") && valueEnt.HasMember("jumpSpeed")) { const rapidjson::Value& hp = valueEnt["hp"]; - _hp = hp.GetInt(); // int value obtained + _hp = hp.GetInt(); const rapidjson::Value& mana = valueEnt["mana"]; - _mana = mana.GetInt(); // int value obtained + _mana = mana.GetInt(); const rapidjson::Value& speed = valueEnt["speed"]; - _speed = speed.GetDouble(); // int value obtained + _speed = speed.GetDouble(); const rapidjson::Value& maxSpeed = valueEnt["maxSpeed"]; - _maxSpeed = maxSpeed.GetDouble(); // int value obtained + _maxSpeed = maxSpeed.GetDouble(); const rapidjson::Value& jumpSpeed = valueEnt["jumpSpeed"]; - _jumpSpeed = jumpSpeed.GetInt(); // int value obtained + _jumpSpeed = jumpSpeed.GetInt(); const rapidjson::Value& jumpHeight = valueEnt["jumpHeight"]; - _jumpHeight = jumpHeight.GetInt(); // int value obtained + _jumpHeight = jumpHeight.GetInt(); } } @@ -118,6 +118,9 @@ bool Player::init() { //shoot _bulletCreator = new IdleBulletCreator(playerPhysMask()); + //Sound effects + CocosDenshion::SimpleAudioEngine::getInstance()->preloadEffect("sounds/Step.mp3"); + //Animation //Idle animation _idleAnimFrames.reserve(8); @@ -212,16 +215,14 @@ void Player::restart() { const rapidjson::Value& valueEnt = playerEnt["specifications"]; if (valueEnt.HasMember("hp") && valueEnt.HasMember("mana")) { const rapidjson::Value& hp = valueEnt["hp"]; - _hp = hp.GetInt(); // int value obtained + _hp = hp.GetInt(); const rapidjson::Value& mana = valueEnt["mana"]; - _mana = mana.GetInt(); // int value obtained + _mana = mana.GetInt(); } } } } - - } void Player::meleeInit() { @@ -267,7 +268,7 @@ void Player::keyPressed(cocos2d::EventKeyboard::KeyCode keyCode, cocos2d::Event* scaleX *= -1; setScaleX(scaleX); } - //_stepSound = CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("sounds/Step.mp3", true); + _stepSound = CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("sounds/Step.mp3"); break; } case EventKeyboard::KeyCode::KEY_A: @@ -279,7 +280,7 @@ void Player::keyPressed(cocos2d::EventKeyboard::KeyCode keyCode, cocos2d::Event* scaleX *= -1; setScaleX(scaleX); } - //_stepSound = CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("sounds/Step.mp3", true); + _stepSound = CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("sounds/Step.mp3"); break; } case EventKeyboard::KeyCode::KEY_SPACE: