///注明:需要特效动画
using
UnityEngine;
///
<summary>
///
鼠标点击位置实例化点击特效-RPG游戏常用,位于player
///
</summary>
public
class
PlayerDir
:
MonoBehaviour
{
///
<summary>
///
鼠标点击特效预制体
///
</summary>
public
GameObject
effectClickPrefab;
void
Update()
{
//调用鼠标点击地面特效
PlayerDirectional();
}
///
<summary>
///
射线检测
///
</summary>
void
PlayerDirectional()
{
//检测鼠标是否按下
if
(
Input
.GetMouseButtonDown(1))
{
//判断当前是否点击到了地面
//定义主摄像机发射一条射线,进行检测
Ray
ray =
Camera
.main.ScreenPointToRay(
Input
.mousePosition);
//定义精测碰撞
RaycastHit
hitInfo;
//Bool判断当前是否检测碰撞到了游戏对象
bool
isCollider =
Physics
.Raycast(ray,
out
hitInfo);
//如果当前射线检测碰撞到了游戏对象并且是地面
if
(isCollider && hitInfo.collider.tag ==
"BoxColliderGround"
)
{
//实例化出来点击的效果,调用ShowClickEffect方法
ShowClickEffect(hitInfo.point);
}
}
}
///
<summary>
///
在鼠标点击的位置实例化鼠标特效
///
</summary>
///
<param name="
hitPoint
">
检测碰撞到的位置信息
</param>
void
ShowClickEffect(
Vector3
hitPoint)
{
//实例化鼠标点击特效,位置是当前鼠标检测碰撞到的位置
GameObject
currentObj = Instantiate(effectClickPrefab, hitPoint,
Quaternion
.identity)
as
GameObject
;
//定时销毁当前实例化的鼠标点击特效
Destroy(currentObj, 0.3f);
}
}
Unity3d鼠标点击位置实例化点击动画特效-RPG游戏常用
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 目录:1.基本信息2.示例工程3.脚本 目标这篇博客的主要目标是告诉你使用鼠标点击的位置拾取或放置对象的做法。 你...