RaycastHit2D

Namespace:

namespace Lenga\Engine\Core;

class RaycastHit2D

Methods

fromNativeData

public static function fromNativeData(array $data)

Example

use Lenga\Engine\Core\Behaviour;
use Lenga\Engine\Core\Physics2D;
use Lenga\Engine\Core\Vector3;

class RaycastExample extends Behaviour
{
    public function update(): void
    {
        $origin = $this->transform->position;
        $direction = new Vector3(1, 0, 0);

        // Cast a ray and get hit information
        $hit = Physics2D::raycast($origin, $direction, 100.0);

        if ($hit !== null) {
            // Access hit information
            $hitObject = $hit->gameObject;
            $hitDistance = $hit->distance;
            $hitPoint = $hit->point;
            $hitNormal = $hit->normal;

            Debug::log('Hit object: ' . $hitObject->name);
            Debug::log('Distance: ' . $hitDistance);
        }
    }
}