最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

unity3D技术之屏幕内跟随鼠标移动

来源:动视网 责编:小OO 时间:2025-10-06 00:00:36
文档

unity3D技术之屏幕内跟随鼠标移动

由于是在屏幕内跟随鼠标移动,我们知道,在屏幕上鼠标位置的Z坐标的值为0,所以我们要将物体的位置坐标Z赋值给鼠标的Z;1usingUnityEngine;2usingSystem.Collections;34publicclassFollow:MonoBehaviour{5Vector3world;//物体要移动到的位置(世界坐标系)6floatmoveSpeed=0;//物体移动速度78voidUpdate(){9Vector3targetposition=Camera.main.WorldT
推荐度:
导读由于是在屏幕内跟随鼠标移动,我们知道,在屏幕上鼠标位置的Z坐标的值为0,所以我们要将物体的位置坐标Z赋值给鼠标的Z;1usingUnityEngine;2usingSystem.Collections;34publicclassFollow:MonoBehaviour{5Vector3world;//物体要移动到的位置(世界坐标系)6floatmoveSpeed=0;//物体移动速度78voidUpdate(){9Vector3targetposition=Camera.main.WorldT
由于是在屏幕内跟随鼠标移动,我们知道,在屏幕上鼠标位置的Z坐标的值为0,所以我们要将物体的位置坐标Z赋值给鼠标的Z;

 1 using UnityEngine;

 2 using System.Collections;

 3 

 4 public class Follow: MonoBehaviour {

 5         Vector3 world;//物体要移动到的位置 (世界坐标系)

 6         float moveSpeed=0;//物体移动速度

 7 

 8         void Update(){

 9                 Vector3 targetposition=Camera.main.WorldToScreenPoint(this.transform.position);//将物体的世界坐标转狗刨学习网换为屏幕坐标

10                 

11                  Vector3 mouseposition=Input.mousePosition;//鼠标在屏幕上的位置坐标

12 

13                  if(Input.GetMouseButton(0)){

14                          mouseposition.z=targetposition.z;

15                          

16                           //world=Camera.main.ScreenToWorldPoint(mouse position);//这种情况下 会有穿透现象

17 

18                           world.x=Camera.main.ScreenToWorldPoint(mouse position).x;

19                           world.z=Camera.main.ScreenToWorldPoint(mouse position).z;

20                           world.y=this.transform.postion.y;

21 

22                           moveSpeed=3;

23                  }

24 

25                  if(this.transform.position==world){//如果物体移动到了鼠标指定的位置 将移动速度设为0

26                            moveSpeed=0;

27                   }

28 

29                   this.transform.LookAt(world);//物体朝向鼠标对应的位置 (此时的位置为世界坐标系)

30                    this.transform.Translate(Vector3.forward*moveSpeed*Time.deltaTime);

31      }

32 }    

文档

unity3D技术之屏幕内跟随鼠标移动

由于是在屏幕内跟随鼠标移动,我们知道,在屏幕上鼠标位置的Z坐标的值为0,所以我们要将物体的位置坐标Z赋值给鼠标的Z;1usingUnityEngine;2usingSystem.Collections;34publicclassFollow:MonoBehaviour{5Vector3world;//物体要移动到的位置(世界坐标系)6floatmoveSpeed=0;//物体移动速度78voidUpdate(){9Vector3targetposition=Camera.main.WorldT
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top