46 lines
1001 B
C++
46 lines
1001 B
C++
#pragma once
|
|
#include "EngineFrame/Actor/Actor.h"
|
|
class GameMap;
|
|
class BaseObject;
|
|
class GameMapCamera : public Actor
|
|
{
|
|
private:
|
|
GameMap *_ParentMap = nullptr;
|
|
// 跟随对象
|
|
BaseObject *_FromActor = nullptr;
|
|
|
|
public:
|
|
// 摄像机坐标
|
|
int X = 0;
|
|
int Y = 0;
|
|
int Z = 0;
|
|
// 镜头可行坐标
|
|
int MovableAreaX = 0;
|
|
int MovableAreaY = 0;
|
|
// 背景偏移量
|
|
int BackgroundOffset = 0;
|
|
// 背景层移动速率
|
|
int BackgroundMoveSpeed = 1.0;
|
|
// 人物中线长度
|
|
int CharacterLineLength = 0;
|
|
// 摄像机朝向
|
|
int Direction = 1;
|
|
// 摄像机朝向时间
|
|
float DirectionTime = 0.f;
|
|
// 缩放比率
|
|
float CameraRate = 1.0;
|
|
|
|
public:
|
|
GameMapCamera();
|
|
~GameMapCamera();
|
|
|
|
void SetParentMap(GameMap *map);
|
|
void SetFromActor(BaseObject *actor);
|
|
void Update(float deltaTime);
|
|
|
|
void SetPos(int x, int y, int z);
|
|
void AddPos(int x, int y, int z);
|
|
|
|
void SyncPosByFromParent(float deltaTime);
|
|
};
|