DXフレームワーク　リファレンス・マニュアル 0.01 DXフレームワークのリファレンスです。詳細は公式wiki

- メインページ
- 関連ページ
- クラス
- ファイル

- ファイル一覧

Camera.h
1 #pragma once
2 namespace DXFW
3 {
5 enum class ChaseType
6 {
7 NormalChase,
8 Smooth,
9 XToY,
10 YToX,
11 Warp
12 };
13
27 class Camera
28 {
29 private:
30 double x;//現在の位置
31 double y;
32 double zoom;
33
34 double forcusX;//移動目標
35 double forcusY;
36 double forcusZ;
37
38 double speed;//移動速度
39 double speedZ;
40
41 double centerX;//焦点位置
42 double centerY;
43
44 static Camera* cameraNow;
45
46 ChaseType chaseType;
47 public:
50 Camera(double 座標X , double 座標Y , double 拡大率):
51 x(座標X),
52 y(座標Y),
53 zoom(拡大率),
54 forcusX(座標X),
55 forcusY(座標Y),
56 forcusZ(拡大率),
57 speed(1),
58 speedZ(1),
59 centerX(座標X),
60 centerY(座標Y),
61 chaseType(ChaseType::Warp)
62 {};
63
66 static Camera* Now()
67 {
68 return cameraNow;
69 }
70
73 static void SetNow(Camera* アクティブカメラ)
74 {
75 cameraNow = アクティブカメラ;
76 }
77
79 void SetCenter(double X座標 , double Y座標)
80 {
81 this->centerX = X座標;
82 this->centerY = Y座標;
83 }
84
86 double GetCenterX()
87 {
88 return this->centerX;
89 }
90
92 double GetCenterY()
93 {
94 return this->centerY;
95 }
96
98 void Set(double X座標 , double Y座標 ,double 拡大率)
99 {
100 this->x = X座標;
101 this->y = Y座標;
102 this->zoom = 拡大率;
103 }
104
106 void MoveForcus(double X座標 ,double Y座標)
107 {
108 this->forcusX += X座標;
109 this->forcusY += Y座標;
110 }
111
113 void SetForcus(double X座標 , double Y座標)
114 {
115 this->forcusX = X座標;
116 this->forcusY = Y座標;
117 }
118
120 void SetZoomForcus(double 拡大率)
121 {
122 this->forcusZ = 拡大率;
123 }
124
126 void SetSpeed(double 追跡速度)
127 {
128 this->speed = 追跡速度;
129 }
130
132 void SetZoomSpeed(double 拡大速度)
133 {
134 this->speedZ = 拡大速度;
135 }
136
138 double GetZoom()
139 {
140 return this->zoom;
141 }
142
144 void SetChaseType(ChaseType 追跡タイプ)
145 {
146 chaseType = 追跡タイプ;
147 }
148
151 void Update()
152 {
153 x = x/2 + forcusX/2;
154 y = y/2 + forcusY/2;
155 zoom = zoom/2 + forcusZ/2;
156 }
157
160 double TranX(double X座標変換前)
161 {
162 return centerX + ( X座標変換前 - this->x ) * zoom;
163 }
164
167 double TranY(double Y座標変換前)
168 {
169 return centerY + ( Y座標変換前 - this->y ) * zoom;
170 }
171 };
172 }
DXFW::Camera::MoveForcus
void MoveForcus(double X座標, double Y座標)
summary&gt;移動目標座標を設定
Definition: Camera.h:106
DXFW::Camera::GetCenterY
double GetCenterY()
移動目標のY座標を取得
Definition: Camera.h:92
DXFW::Camera::SetChaseType
void SetChaseType(ChaseType 追跡タイプ)
Definition: Camera.h:144
DXFW::Camera::SetZoomSpeed
void SetZoomSpeed(double 拡大速度)
summary&gt;拡大率を取得
Definition: Camera.h:132
DXFW::Camera::Update
void Update()
Definition: Camera.h:151
DXFW::Camera::SetNow
static void SetNow(Camera *アクティブカメラ)
summary&gt;カメラの焦点を設定
Definition: Camera.h:73
DXFW::Camera
2D用のカメラクラス
Definition: Camera.h:27
DXFW::Camera::SetSpeed
void SetSpeed(double 追跡速度)
summary&gt;拡大応答速度を設定
Definition: Camera.h:126
DXFW::Camera::TranY
double TranY(double Y座標変換前)
Y座標を変換
Definition: Camera.h:167
DXFW::ChaseType
ChaseType
カメラの追跡方式
Definition: Camera.h:5
DXFW::Camera::SetCenter
void SetCenter(double X座標, double Y座標)
summary&gt;焦点のX座標を取得
Definition: Camera.h:79
DXFW::Camera::GetZoom
double GetZoom()
summary&gt;追跡方法を設定
Definition: Camera.h:138
DXFW::Camera::SetZoomForcus
void SetZoomForcus(double 拡大率)
summary&gt;追跡速度を設定
Definition: Camera.h:120
DXFW::Camera::Now
static Camera * Now()
Definition: Camera.h:66
DXFW::Camera::Camera
Camera(double 座標X, double 座標Y, double 拡大率)
カメラの作成
Definition: Camera.h:50
DXFW::Camera::SetForcus
void SetForcus(double X座標, double Y座標)
summary&gt;拡大目標をセット
Definition: Camera.h:113
DXFW::Camera::Set
void Set(double X座標, double Y座標, double 拡大率)
summary&gt;移動目標座標を相対移動
Definition: Camera.h:98