圆形碰撞器. 更多...
#include <Collider.h>
Public 成员函数 | |
| CircleCollider () | |
| 构造函数. | |
| virtual void | BeginPlay () |
| 初始化逻辑. | |
| virtual bool | IsMouseOver () override |
| 判断是否跟鼠标发生了碰撞. | |
| virtual void | Update (float deltaTime) override |
| 实现更新碰撞坐标, 进行容器的更新. | |
| virtual void | DrawDebugLine () |
| 绘制碰撞体的范围. | |
| float | GetRadius () const |
| 获取碰撞体半径. | |
| void | SetRadius (float radius) |
| 设置半径. | |
Public 成员函数 继承自 Collider | |
| Collider () | |
| 构造函数. | |
| virtual | ~Collider () |
| virtual void | EndPlay () override |
| 处理析构处理不了的. | |
| const std::vector< Object * > & | GetCollisionsByType (CollisionType type) |
| 由种类名获取所有跟这个碰撞体有碰撞的物体容器. | |
| const int | GetLayer () const |
| 获取碰撞层级. | |
| void | SetLayer (int layer) |
| 设置碰撞层级. | |
| CollisionType | GetType () const |
| 获取碰撞物体种类. | |
| void | SetType (CollisionType type) |
| 设置碰撞物体种类. | |
| ColliderShape | GetShape () const |
| 获取碰撞形状. | |
| void | SetCollisionMode (ColliderMode mode) |
| 设置碰撞模式. | |
| ColliderMode | GetCollisionMode () |
| 获取碰撞模式. | |
| virtual void | Deactivate () override |
| 停用碰撞体. | |
| bool | IsCollisionsEmpty () const |
| 是否与任何碰撞体无接触 | |
| void | SetPhysicsMaterial (const PhysicsMaterial &material) |
| 设置物理材质 | |
| Rect | GetRect () const |
| HitResult | CollisionHit (Collider *another) |
Public 成员函数 继承自 SceneComponent | |
| void | AttachTo (SceneComponent *par) |
| 设置所属组件 | |
| void | DetachForm (SceneComponent *par) |
| 解除所属组件. | |
| virtual void | Destruct () |
| 解除场景组件绑定并销毁 | |
| Vector2D | GetLocalPosition () const |
| 获取相对坐标 | |
| float | GetLocalRotation () const |
| 获取相对角度 | |
| Vector2D | GetLocalScale () const |
| 获取相对缩放大小 | |
| Vector2D | GetWorldPosition () const |
| 获取场景组件的世界坐标 | |
| float | GetWorldRotation () const |
| 获取场景组件的世界旋转角度 | |
| Vector2D | GetWorldScale () const |
| 获取场景组件的世界的缩放大小 | |
| void | SetLocalPosition (const Vector2D &pos) |
| 设置相对坐标 | |
| void | SetLocalRotation (float rot) |
| 设置相对角度 | |
| void | SetLocalScale (const Vector2D &scale) |
| 设置相对缩放大小 | |
| void | AddPosition (const Vector2D &pos) |
| 加上一个坐标 | |
| void | AddRotation (float rot) |
| 加上一个角度 | |
Public 成员函数 继承自 Component | |
| void | SetOwner (class Object *owner) |
| 设置绑定对象. | |
| virtual void | Activate () |
| 激活组件 | |
| Object * | GetOwner () const |
| 获取绑定对象指针 | |
Public 成员函数 继承自 base | |
| base () | |
| virtual | ~base () |
| std::string | GetName () const |
| void | SetName (const std::string &name) |
Private 成员函数 | |
| virtual bool | CollisionJudge (Collider *another) override |
| 碰撞判断. | |
Private 属性 | |
| float | radius = 0 |
| 半径 | |
| float | radius_ini = 0 |
| 标准半径尺寸规模 | |
额外继承的成员函数 | |
静态 Public 成员函数 继承自 Collider | |
| static HitResult | CollisionHitCircleToCircle (Collider *, Collider *) |
| 圆实体类型之间发生物理碰撞 | |
| static HitResult | CollisionHitCircleToBox (Collider *, Collider *) |
| 圆实体和盒型实体之间发生物理碰撞 | |
| static HitResult | CollisionHitBoxToBox (Collider *, Collider *) |
| 盒型和盒型实体之间发生物理碰撞 | |
Public 属性 继承自 Collider | |
| CollisionOverlapDelegate | OnComponentBeginOverlap |
| 碰撞体刚接触的委托 | |
| CollisionOverlapDelegate | OnComponentEndOverlap |
| 碰撞体刚从接触到不重叠的委托 | |
| CollisionHitOverlapDelegate | OnComponentHitOverlap |
| 发生实体碰撞的委托 | |
静态 Public 属性 继承自 Collider | |
| static HitResult(* | CollisionHitMap [3])(Collider *, Collider *) |
| 映射关系 圆是0 方是1 进行加法 | |
Protected 成员函数 继承自 Collider | |
Protected 成员函数 继承自 SceneComponent | |
| void | process_Destruct () |
| 销毁组件 | |
Protected 属性 继承自 Collider | |
| PhysicsMaterial | material |
| 物理材质 | |
| ColliderShape | shape = ColliderShape::Circle |
| 碰撞形状 | |
| Rect | rec_pos = {0,0,0,0} |
| 矩形框区域 | |
Protected 属性 继承自 SceneComponent | |
| SceneComponent * | parent = nullptr |
| 父指针 | |
Protected 属性 继承自 Component | |
| class Object * | pOwner = nullptr |
| 处理控制逻辑 有对象物体的指针才能进行控制 | |
| bool | bIsEnabled = true |
| 是否激活 | |
圆形碰撞器.
|
inline |
构造函数.
种类设置为圆形
|
inlinevirtual |
|
overrideprivatevirtual |
碰撞判断.
1.第一种用虚函数重写是为了分类跟它发生碰撞的形状 2.全部写在基类进行映射可以简化函数内部实现,发生判断之前已经分类了
| [in] | another | 发生碰撞的碰撞体 |
实现了 Collider.
|
virtual |
绘制碰撞体的范围.
实现了 Collider.
|
inline |
获取碰撞体半径.
|
overridevirtual |
|
inline |
设置半径.
| [in] | radius | 设置的半径大小 是正值 |
|
overridevirtual |
实现更新碰撞坐标, 进行容器的更新.
重载 Collider .
|
private |
半径
|
private |
标准半径尺寸规模