![]() |
OpenSiv3D
v0.6.5
C++20 framework for creative coding
|
2D カメラ More...
#include <Camera2D.hpp>
Inherits s3d::BasicCamera2D.
Public Member Functions | |
SIV3D_NODISCARD_CXX20 | Camera2D ()=default |
デフォルトコンストラクタ More... | |
SIV3D_NODISCARD_CXX20 | Camera2D (Vec2 center, double scale=1.0, CameraControl cameraControl=CameraControl::Default) noexcept |
2D カメラを作成します。 More... | |
SIV3D_NODISCARD_CXX20 | Camera2D (Vec2 center, double scale, const Camera2DParameters ¶meters) noexcept |
2D カメラを作成します。 More... | |
void | setParameters (const Camera2DParameters ¶meters) noexcept |
カメラの操作パラメータを変更します。 More... | |
const Camera2DParameters & | getParameters () const noexcept |
現在のカメラの操作パラメータを返します。 More... | |
void | setTargetCenter (Vec2 targetCenter) noexcept |
カメラが見る中心座標の目標を設定します。 More... | |
const Vec2 & | getTargetCenter () const noexcept |
現在の目標中心座標を返します。 More... | |
void | setTargetScale (double targetScale) noexcept |
カメラのズームアップ倍率の目標を設定します。 More... | |
double | getTargetScale () const noexcept |
現在の目標ズームアップ倍率を返します。 More... | |
void | jumpTo (Vec2 center, double scale) noexcept |
指定した中心座標とズーム倍率を即座に適用します。 More... | |
void | update (double deltaTime=Scene::DeltaTime(), SizeF sceneSize=Graphics2D::GetRenderTargetSize()) |
2D カメラの状態を更新します。 More... | |
void | draw (const ColorF &color=Palette::White) const |
2D カメラの右クリック・ドラッグによる移動の UI を表示します。 More... | |
![]() | |
SIV3D_NODISCARD_CXX20 | BasicCamera2D ()=default |
デフォルトコンストラクタ More... | |
constexpr SIV3D_NODISCARD_CXX20 | BasicCamera2D (Vec2 center, double scale=1.0) noexcept |
指定した設定で 2D カメラを作成します。 More... | |
constexpr void | setCenter (Vec2 center) noexcept |
カメラが見る中心座標を設定します。 More... | |
constexpr const Vec2 & | getCenter () const noexcept |
カメラが見ている中心座標を返します。 More... | |
constexpr void | setScale (double scale) noexcept |
カメラのズームアップ倍率を設定します。 More... | |
constexpr double | getScale () const noexcept |
カメラのズームアップ倍率を返します。 More... | |
constexpr RectF | getRegion (Size renderTargetSize=Graphics2D::GetRenderTargetSize()) const noexcept |
カメラに映っている領域を返します。 More... | |
constexpr Mat3x2 | getMat3x2 (Size renderTargetSize=Graphics2D::GetRenderTargetSize()) const noexcept |
現在のカメラの設定から座標変換行列を作成します。 More... | |
Transformer2D | createTransformer () const |
現在のカメラの設定から Transformer2D を作成します。 More... | |
Protected Member Functions | |
void | updateWheel (const SizeF &sceneSize) |
void | updateControls (const double deltaTime) |
void | updateMouse (const double deltaTime) |
Protected Attributes | |
double | m_targetScale = BasicCamera2D::m_scale |
double | m_scaleChangeVelocity = 0.0 |
Vec2 | m_targetCenter = BasicCamera2D::m_center |
Vec2 | m_positionChangeVelocity = Vec2::Zero() |
Optional< Point > | m_grabPos |
Optional< std::pair< Point, Vec2 > > | m_pointedScale |
Camera2DParameters | m_parameters |
![]() | |
Vec2 | m_center = Vec2{ 0, 0 } |
カメラが見ている中心座標 More... | |
double | m_scale = 1.0 |
カメラのズーム倍率 More... | |
2D カメラ
|
default |
デフォルトコンストラクタ
|
noexcept |
2D カメラを作成します。
center | カメラが見ている中心座標の初期設定 |
scale | カメラのズーム倍率の初期設定 |
cameraControl | カメラの操作オプション |
|
noexcept |
2D カメラを作成します。
center | カメラが見ている中心座標の初期設定 |
scale | カメラのズーム倍率の初期設定 |
parameters | カメラの操作パラメータ |
void s3d::Camera2D::draw | ( | const ColorF & | color = Palette::White | ) | const |
2D カメラの右クリック・ドラッグによる移動の UI を表示します。
color | UI の色 |
|
noexcept |
現在のカメラの操作パラメータを返します。
|
noexcept |
現在の目標中心座標を返します。
|
noexcept |
現在の目標ズームアップ倍率を返します。
|
noexcept |
指定した中心座標とズーム倍率を即座に適用します。
center | カメラが見る中心座標 |
scale | カメラのズーム倍率 |
|
noexcept |
カメラの操作パラメータを変更します。
parameters | 新しいカメラの操作パラメータ |
|
noexcept |
カメラが見る中心座標の目標を設定します。
targetCenter | カメラが見る中心座標の目標 |
|
noexcept |
カメラのズームアップ倍率の目標を設定します。
targetScale | カメラのズーム倍率の目標 |
void s3d::Camera2D::update | ( | double | deltaTime = Scene::DeltaTime() , |
SizeF | sceneSize = Graphics2D::GetRenderTargetSize() |
||
) |
2D カメラの状態を更新します。
deltaTime | 前回のフレームからの経過時間(秒) |
sceneSize | レンダーターゲットのサイズ(ピクセル) |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |