SDXFrameWork  0.04
SDXFrameWork
 全て クラス ネームスペース 関数 変数 ページ
SpeedDerived.h
1 #pragma once
2 #include <Framework/Speed.h>
3 namespace SDX
4 {
6 namespace Speed
7 {
9 class Liner : public ISpeed
11 {
12 public:
13  Liner(double 速度) :
14  ISpeed(速度)
15  {}
16 
17  void Update(){}
18 };
19 
21 class Accel : public ISpeed
23 {
24 private:
25  double accel;//加速度
26 public:
27  Accel( double 初速 , double 加速度):
28  ISpeed(初速),
29  accel(加速度)
30  {}
31 
32  void Update()
33  {
34  speed += accel;
35  }
36 
37  void Multi(double 倍率)
38  {
39  speed *= 倍率;
40  accel *= 倍率;
41  }
42 };
43 
45 class Wave : public ISpeed
47 {
48 private:
49  double 角度;
50  double 角速度;
51 public:
52  Wave( double 速度 , double 角速度 , double 初角 = 0):
53  ISpeed(速度),
54  角速度(角速度),
55  角度(初角)
56  {}
57 
58  double Get() const
59  {
60  return std::abs(std::sin( 角度 ) * speed);
61  }
62 
63  void Update()
64  {
65  角度 += 角速度;
66  }
67 
68  void Multi(double 倍率)
69  {
70  speed *= 倍率;
71  }
72 };
73 }
74 }
void Update()
速度を更新.
Definition: SpeedDerived.h:63
void Update()
速度を更新.
Definition: SpeedDerived.h:32
double Get() const
現在の速度を取得.
Definition: SpeedDerived.h:58
void Multi(double 倍率)
速度を掛ける.
Definition: SpeedDerived.h:68
void Update()
速度を更新.
Definition: SpeedDerived.h:17
変化する数値を表す抽象クラス.
Definition: Speed.h:7
常に同じ速度.
Definition: SpeedDerived.h:10
void Multi(double 倍率)
速度を掛ける.
Definition: SpeedDerived.h:37