虚幻5-官方内容示例-蓝图鼠标交互详解(UE5-content ...

3

主题

5

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2023-1-18 16:34:27 | 显示全部楼层
整体逻辑:

我只想做一件事——让屏幕上的小球运动。我该怎么办呢?

可以让小球跟着鼠标运动。鼠标运动到哪里,小球就运动到那里——这很直观。所以我需要这个节点:

【GetHitResultUnderCursorByChannel】:playerController的鼠标,点击了哪一个物体,并获取这个物体的位置

但是,我什么时候让小球动呢?——我得点住小球,才能让小球跟着鼠标动,我释放鼠标,小球就离开。

所以,我用【setAcotorLocation】,让小球的位置==鼠标的位置。



。。。。。。。。。。。。。。。。。

那么,是什么事件,触发了小球跟着鼠标动这件事呢?

鼠标点击一下,小球就跟着动。

鼠标释放,小球就停下。

所以我需要两个事件onClicked,onReleased,以及Gate。



。。。。。。。。。。

可能错误的点:getPlayerController,需要选择Game下的,而不是playerState下的。

。。。。。。。。。。

然后,我继续给这个小程序添加功能:

让鼠标点击的时候,变成绿色;释放的时候,变回最开始的银色。

所以我需要set Material节点。这个节点的target用self会报错,所以还是把小球拖进来,连一下才行。



。。。。。。。。。。。。。。。

继续添加功能:

鼠标点击之后,并停在小球上时,鼠标变成小手的形状。

想做到这一点,我就可以使用:onBeginCursorOver , onEndCursorOver两个事件

我想要启用这两个事件,必须先试用Enable Mouse Over Event这个选项。可以在playerController里面的Mouse interface这个选项卡DropDown里面,启用/禁用enable mouseOverEvent

——注意,这两个事件在蓝图里面搜不出来。需要在小球StaticMesh里面,细节(details)面板向下拉,找到两个绿色的加号。



。。。。。。。。。。。。

继续添加最后一个功能:



鼠标一般是小箭头,悬浮在小球上的时候,变成小手。离开的时候,又变成小箭头。使用

【set cruuent mouse cursor】实现——这还是playerController里面的一个勾选项。

我这里犯了一个小错误:

在鼠标点击的时候,需要enableMouseOVerEvent【去掉】对钩。是反过来的。

。。。。。。。。。。。。。。

这样,我们就完全复制了官方示例蓝图的鼠标事件的内容。

手机事件没有做——等到学习开发手机游戏的时候,再补充。 作者:烧鸡煲 虚幻5-官方内容示例-蓝图鼠标交互详解(UE5-content examples-mouse interaction) 出处:bilibili
回复

举报 使用道具

您需要登录后才可以回帖 登录 | 立即注册
快速回复 返回顶部 返回列表