SpriteAction_SmoothArrival.cpp
Go to the documentation of this file.00001 //*** SpriteAction_SmoothArrival.cpp *** 00002 00003 #include "SpriteAction_SmoothArrival.h" 00004 #include "ColorHelper.h" 00005 #include "Sprite.h" 00006 #include "SpriteController.h" 00007 00008 00009 //*** Constructor *** 00010 00011 SpriteAction_SmoothArrival::SpriteAction_SmoothArrival(float targetX, float targetY, float speed): 00012 targetX_(targetX), 00013 targetY_(targetY), 00014 speed_(speed), 00015 velocityX_(0), 00016 velocityY_(0) 00017 { 00018 } 00019 00020 00021 //*** Setup *** 00022 00023 void SpriteAction_SmoothArrival::Setup(SpriteController* controller, Sprite* sprite) 00024 { 00025 } 00026 00027 00028 //*** Update *** 00029 00030 void SpriteAction_SmoothArrival::Update(SpriteController* controller, Sprite* sprite, float deltaTime) 00031 { 00032 float diffX=targetX_-sprite->GetX(); 00033 float diffY=targetY_-sprite->GetY(); 00034 00035 if (Abs(diffX)<2.0f && Abs(diffY)<2.0f) 00036 { 00037 sprite->SetPosition(targetX_,targetY_); 00038 ActionCompleted(); 00039 return; 00040 } 00041 00042 controller->AddVelocity(diffX*speed_,diffY*speed_); 00043 }
Reproduction/republishing of any material on this site without permission is strictly prohibited.
