RayCastComponent
اعلان
public class Strawberry.Components.Physics.RayCastComponent
در هر FixedUpdate یک پرتو را در جهت مشخص پرتاب میکند و نتایج برخورد را در دسترس قرار میدهد. برای تشخیص زمین، دیوار و لبه استفاده میشود. این کلاس یک جزء (Component) است که روی موجود (Entity) مالک قرار میگیرد.
ارثبری از: Strawberry.Core.BaseComponent
ویژگیها
Transform
جزء تبدیل مالک را دریافت میکند.
TransformComponent Transform { get }
Direction
جهت پرتو در فضای جهانی را دریافت یا تنظیم میکند. پیشفرض: پایین.
Vector2 Direction { get set }
Distance
بیشترین طول پرتو به پیکسل را دریافت یا تنظیم میکند. پیشفرض: 10.
float Distance { get set }
Offset
انحراف آغازین پرتو نسبت به موقعیت موجود را به پیکسل دریافت یا تنظیم میکند. پیشفرض: Vector2.Zero.
Vector2 Offset { get set }
CollidesWith
دستههای برخوردی که پرتو تشخیص میدهد را دریافت یا تنظیم میکند. تنها فیکسچرهایی که CollisionCategories آنها با این مقدر همپوشانی داشته باشد تشخیص داده میشوند. پیشفرض: Category.All.
Category CollidesWith { get set }
IsHit
آیا پرتو در حال حاضر به فیکسچری برخورد کرده است.
bool IsHit { get }
HitDistance
فاصله از مبدأ پرتو تا نقطهی برخورد را به پیکسل دریافت میکند. اگر برخوردی نباشد 0 برمیگرداند.
float HitDistance { get }
HitNormal
نرمال سطح در نقطهی برخورد را دریافت میکند.
Vector2 HitNormal { get }
HitPoint
موقعیت جهانی که پرتو به فیکسچری برخورد کرده را دریافت میکند.
Vector2 HitPoint { get }
HitFixture
فیکسچری که برخورد کرده را دریافت میکند، یا null اگر برخوردی نباشد.
Fixture HitFixture { get }
RigidBody
جزء جسم صلب مالک را در صورت وجود دریافت میکند. برای نادیده گرفتن فیکسچرهای خود مالک استفاده میشود.
RigidBodyComponent RigidBody { get }
متدها
OnComponentAdded override
void OnComponentAdded(BaseComponent component)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
component |
Strawberry.Core.BaseComponent |
OnFixedUpdate override
void OnFixedUpdate()