`
aigo
  • 浏览: 2698617 次
  • 性别: Icon_minigender_1
  • 来自: 宜昌
社区版块
存档分类
最新评论

[UE4]获取鼠标点击时的坐标

UE4 
阅读更多

使用PlayerController获取

1,获取鼠标在当前场景中坐标系统的中的position,加入场景地图的范围是一千平方米,那么这个position的范围也是1000米x1000米。

注册鼠标事件

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

 函数实现MoveToMouseCursor(),此函数放在PlayerController::PlayerTick()内调用,重写下PlayerTick():

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,获取鼠标再显示屏内的坐标系统的position。假如屏幕分辨率是1280x720,那么这个position的范围就是(0, 0)到(1280, 720)。PlayerController::GetMousePosition()。

AHPlayerController* PC = ...

float LocX = 0;
float LocY = 0;
PC->GetMousePosition(LocX, LocY);

 

3,触屏设备上获取场景内点击的position,其范围与第1种情况相同。

注册touch事件

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);
	}
}

 

使用Viewport接口获取

//坐标值是整数
FIntPoint MousePoint;
GEngine->GameViewport->Viewport->GetMousePos(MousePoint);

//坐标是标准float
FVector2D CursorPos;
GEngine->GameViewport->GetMousePosition(CursorPos);

 

分享到:
评论

相关推荐

    UE4_UE5鼠标点击地面,移动到指定位置。

    UE4_UE5点击地面,移动到指定位置 包含的技术点有: 1.射线碰撞检测。 2.模型边缘高亮。 3.鼠标样式自定义切换。 4.使用DoTwen插件实现移动动画效果。 注:如没有购买DoTween插件,将蓝图中DoTween的移动方法删除掉...

    屏幕坐标到世界坐标

    例如,从用户交互获取的鼠标坐标通常是设备坐标,需要转换为世界坐标才能正确地处理。 #### 六、从屏幕坐标到世界坐标的转换 屏幕坐标到世界坐标的转换涉及到数学和几何知识的应用,具体步骤如下: ##### 1. 原理...

    vue2.0获取鼠标位置的方法

    在Vue 2.0中,获取鼠标位置是一个常见的需求,特别是在构建交互式用户界面时。以下是如何在Vue组件中实现这一功能的详细说明。 首先,我们需要一个HTML结构,其中包含一个Vue实例可以监听鼠标移动事件的元素。在这...

    unity坐标转换,世界坐标转uv坐标函数

    4. **转换为物体空间坐标**:使用物体的旋转和位移信息,将世界坐标减去物体的位置,然后使用旋转矩阵逆运算,将世界坐标转换为物体空间坐标。 5. **切线空间到UV空间**:在物体空间中,使用切线、副切线和法线构建...

    将3D坐标转成2D坐标的方法2

    在Unity中,可以使用`Input.mousePosition`来获取鼠标或触摸屏的位置,然后通过`Physics.Raycast()`或`Physics2D.Raycast()`函数来检测与之相交的3D物体。在Raycast设置中,你可以通过标签(tag)来区分不同的3D物体...

    vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法

    this.$refs[‘通过设置ref获取到的dom元素’]....以上这篇vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。

    关于鼠标拖拽实现球体旋转或移动

    - `IEnumerator OnMouseDown()`: 获取当前相机,将球体在世界坐标系下的位置转换为屏幕坐标系下的位置,然后记录鼠标位置。在鼠标持续按下期间,根据鼠标位移更新球体的位置,实现平滑移动。 ### 总结 以上解析...

    Js和JQuery获取鼠标指针坐标的实现代码分享

    <!DOCTYPE html> <... <head> <... charset=utf-8" />...jquery 获取鼠标指针的坐标</title> [removed] //普通js函数 function test(event) { event = event || window.event; var x = eve

    C++实现检测鼠标位置并显示.rar

    在`point.cpp`中,开发者可能使用了`GetCursorPos()`函数来获取鼠标的当前位置。这是一个Windows API函数,它会将鼠标当前位置的屏幕坐标(以像素为单位)存储在一个`POINT`结构体中。`POINT`结构体包含两个成员:`x...

    js与jquery中获取当前鼠标的x、y坐标位置的代码

    在JavaScript和jQuery中,获取鼠标在页面上的实时x和y坐标是常见的需求,尤其是在实现交互式功能时。这里我们将详细探讨两种不同的方法来实现这一功能。 首先,我们来看jQuery的实现方式,如标题和描述中所示: ``...

    基于jquery的获取mouse坐标插件的实现代码

    标题中的"基于jquery的获取mouse坐标插件的实现代码"是指使用jQuery库开发的一个插件,该插件的目的是在用户鼠标移动时获取鼠标的实时坐标。这个功能在交互式应用或者需要跟踪用户鼠标位置的场景中非常有用,例如...

    jquery实现图片跟随鼠标的实例

    4. **JavaScript变量与条件语句**:`intX`和`intY`存储了鼠标事件的客户端X和Y坐标,`if...else if...`结构用于根据链接的类名(`class`)决定显示哪个图片。 5. **HTML结构**:HTML中包含了两个链接,每个链接都有...

    JQuery获取鼠标进入和离开容器的方向

    函数计算出鼠标相对于容器中心的坐标,然后根据坐标和容器的宽高比确定鼠标进入或离开的方向。 ```javascript function moveDirection(tag, e) { var w = $(tag).width(); var h = $(tag).height(); var x = (e....

    利用jQuery插件imgAreaSelect实现获得选择域的图像信息

    用户可以通过鼠标选择图像的一部分,然后你可以获取到选区的坐标和尺寸信息,用于后续的图像处理操作。 要获取选择域的图像信息,我们需要关注以下几个关键点: 1. **大小**: - 区域的大小由其宽度和高度决定。...

    jQuery实现div跟随鼠标移动

    1. **鼠标坐标**:`e.pageX` 和 `e.pageY` 是jQuery事件对象中的属性,它们分别表示鼠标在当前视口的水平和垂直坐标。当鼠标移动时,这两个值会不断更新。 2. **div位置**:`$(".aa").css("left")` 和 `$(".aa")....

    jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】

    本文实例讲述了jQuery实现的鼠标拖动画矩形框。分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <...

    jquery鼠标放上去显示悬浮层即弹出定位的div层

    在网页开发中,有时我们需要实现一种交互效果:当鼠标悬停在特定元素上时,显示一个悬浮层(通常是一个div层),提供额外的信息或者功能。这个需求可以通过JavaScript库jQuery来轻松实现,尤其对于不熟悉复杂...

    热力图生成代码,适用于各种色斑图生成

    你可以自定义颜色梯度、热力图的透明度、数据点的颗粒度,甚至可以设置鼠标悬停时的提示信息。例如,你可以这样设置颜色梯度: ```javascript heatmapInstance.config({ gradient: { 0.4: 'blue', 0.65: 'cyan',...

    jquery实现点击页面计算点击次数

    在回调函数中,首先获取点击事件的页面坐标`x`和`y`,这将用于定位`tip`元素。 ```javascript var x=e.pageX,y=e.pageY; ``` 然后,增加点击计数`w`的值,并更新`tip`的文本内容,显示点击次数。 ```javascript ...

    Jquery中国地图热点效果-鼠标经过弹出提示层信息的简单实例

    - `mouseover`事件:当鼠标进入某个区域时,创建一个新的提示层`<div class="mapDiv">`,设置其内容为区域的`alt`属性(作为提示信息),并根据坐标位置显示在鼠标上方。 - `mouseout`事件:当鼠标离开区域时,移除...

Global site tag (gtag.js) - Google Analytics