Ue4

[UE4] ماؤس کلک کے نقاط حاصل کریں

Get Coordinates Mouse Click



اسے پلیئرکنٹرولر کا استعمال کرکے حاصل کریں

1. موجودہ منظر کے مربوط نظام میں ماؤس کی پوزیشن حاصل کریں۔ شامل کردہ نقشے کی حد ایک ہزار مربع میٹر ہے ، پھر اس مقام کی حد بھی 1000 میٹر x 1000 میٹر ہے۔



ماؤس واقعہ رجسٹر کریں



FInputActionBinding &action1 = InputComponent->BindAction('SetDestination', IE_Pressed, this, &AHPlayerController::OnSetDestinationPressed)

فنکشن مووٹو ماؤس کرسر () کا نفاذ کرتا ہے ، جسے پلیئرکنٹرولر :: پلیئرٹک () پلیئرٹک () کے اندر کہا جاتا ہے اور پلیئرٹک () کو اوور رائڈ کرتا ہے۔



void AHPlayerController::MoveToMouseCursor() { // Trace to see what is under the mouse cursor FHitResult Hit GetHitResultUnderCursor(ECC_Visibility, false, Hit) if (Hit.bBlockingHit) { // We hit something, move there SetNewMoveDestination(Hit.ImpactPoint) } }

2. ماؤس ڈسپلے کے اندر کوآرڈینیٹ سسٹم کی پوزیشن حاصل کریں۔ اگر اسکرین ریزولوشن 1280x720 ہے ، تو مقام کی حد (0 ، 0) سے (1280، 720) ہے۔ پلیئرکنٹرولر :: گیٹ ماؤس پوزیشن ()۔

AHPlayerController* PC = ... float LocX = 0 float LocY = 0 PC->GetMousePosition(LocX, LocY)

the. منظر میں کلیک کی پوزیشن ٹچ اسکرین ڈیوائس پر حاصل کی جاتی ہے ، اور رینج پہلے کیس کی طرح ہی ہوتی ہے۔

ٹچ ایونٹ کو رجسٹر کریں



InputComponent->BindTouch(EInputEvent::IE_Pressed, this, &AHPlayerController::MoveToTouchLocation)

فنکشن کا نفاذ:

void AHPlayerController::MoveToTouchLocation(const ETouchIndex::Type FingerIndex, const FVector Location) { FVector2D ScreenSpaceLocation(Location) // Trace to see what is under the touch location FHitResult HitResult GetHitResultAtScreenPosition(ScreenSpaceLocation, CurrentClickTraceChannel, true, HitResult) if (HitResult.bBlockingHit) { // We hit something, move there SetNewMoveDestination(HitResult.ImpactPoint) } }

حاصل کرنے کے لئے ویو پورٹ انٹرفیس کا استعمال کریں

/ / coordinate value is an integer FIntPoint MousePoint GEngine->GameViewport->Viewport->GetMousePos(MousePoint) //The coordinates are standard float FVector2D CursorPos GEngine->GameViewport->GetMousePosition(CursorPos)