鼠标控制物体移动

1.物体移动到鼠标点击处

2.物体跟随鼠标移动

分为三步:获取鼠标位置、转化为世界坐标、物体移动

private Vector3 mopos;

private Vector3 gamepos;

void Start(){

//物体的世界坐标转化成屏幕坐标

//gamepos = Camera.main.WorldToScreenPoint (transform.position);

gamepos = transform.position;

}

void Update () {

//物体移动到鼠标点击处

if (Input.GetMouseButtonDown (0)) {

mopos = Input.mousePosition;//获取鼠标位置

//转化物体世界z坐标为屏幕坐标并赋值给鼠标z坐标

mopos.z=Camera.main.WorldToScreenPoint( transform.position).z;

//将需要的鼠标坐标转化成世界坐标

gamepos.x=Camera.main.ScreenToWorldPoint(mopos).x;

gamepos.z=Camera.main.ScreenToWorldPoint(mopos).z;

gamepos.y=transform.position.y;

}

//让物体移动到坐标处

transform.position = Vector3.Lerp (gameObject.transform.position,gamepos,Time.deltaTime*5f);

//朝向某处

//transform.LookAt (gamepos);

}

Ps:一个小例子,准星在屏幕中跟随鼠标移动

void Updata(){

mopos = Input.mousePosition;//获取鼠标位置

//调整位置比例

mopos.x /= 823.0f;

mopos.y /= 600.0f;

//移动

transform.position = Vector3.Lerp (gameObject.transform.position,mopos,Time.deltaTime*30f);

}

//物体朝向鼠标方向旋转

//获取鼠标增量

float h =  Input.GetAxis("Mouse X");

float v = Input.GetAxis("Mouse Y");

//旋转

transform.Rotate(v, h, 0);

时间: 2024-10-26 05:13:10

鼠标控制物体移动的相关文章

Unity3D鼠标控制角色移动

一直都有一颗文学逗比的心,很中二和玛丽苏的想写那种龙傲天的小说.所以这个寒假就非常想敲出个RPG游戏来抒发心中的这份狂热.一开始是想用Three.js来做,后来转用Unity3D来做了,毕竟相对简单一点.好多东西不用自己去写,也可以避免心中这份狂热不至于还没把基础框架搭建好就降为0度了. 角色移动的例子 控制角色移动,对于PC端而言就是键盘或者鼠标.其中键盘控制角色移动的是经典的fps游戏中wasd四个方向按键.而鼠标控制角色移动一般常见于MMORPG.我比较倾向于MMORPG风格控制角色移动,

Unity3D 控制物体移动、旋转、缩放

Transform基本移动函数: transform.Translate(Vector3.forward *TranslateSpeed); transform.Translate(xSpeed,0,zSpeed); transform.position = Vector3(xPostion,0,zPostion); 1.输入指定按键: if(Input.GetKey ("up")) print("Up!"); if(Input.GetKey(KeyCode.W);

iOS_2_按钮控制物体形变

BeyondViewController.h // // BeyondViewController.h // 02_按钮控制物体形变 // // Created by beyond on 14-7-21. // Copyright (c) 2014年 com.beyond. All rights reserved. // #import <UIKit/UIKit.h> @interface BeyondViewController : UIViewController // 控制器成员记住界面

iOS_2_button控制物体形变

终于效果图: BeyondViewController.h // // BeyondViewController.h // 02_button控制物体形变 // // Created by beyond on 14-7-21. // Copyright (c) 2014年 com.beyond. All rights reserved. // #import <UIKit/UIKit.h> @interface BeyondViewController : UIViewController /

THREE.js代码备份——线框cube、按键、鼠标控制

<!DOCTYPE html> <html lang="en"> <head> <title>three.js canvas - geometry - cube</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, user-scalable=no,

关于Unity中鼠标选取物体的解决方案

今天修改了之前写的飞机大战的代码,原来的不足之处是点击屏幕的任意一点都可以移动飞机,也就是没有检测鼠标到底有没有点到飞机上. 我先是用之前的3D拾取技术,发现没有反应,才意识到我这个plane飞机节点挂载的是Box Collier2D的碰撞器组件,不是Box Collier,3D射线拾取技术在2D游戏里面还用不了. 后来我百度了一下,才知道用UGUI写的2D游戏用鼠标选取物体不用射线检测,要用事件系统.但是我不会用OnMouseEnter()和OnPointerEnter(),所以还是想用射线来

Unity游戏开发的数学与物理 2 ( 通过键盘控制物体的运动 )

通过键盘控制物体的运动 实现需注意: 获取键盘相应的方法 边界检测 合力方向的速度处理 勾股定理 using UnityEngine; using System.Collections; //通过键盘控制物体的运动 public class KeyControlMotionTest : MonoBehaviour { //物体的X位置 float posX = 0; //物体的Y位置 float posY = 0; //物体在x方向上的速度 float speedX = 1; //物体在y方向上

Maya 脚本控制物体自转

在Maya中,我们可以用脚本来控制物体的自转方向,速度等等,步骤如下: 选择需要操作的物体object,打开通道盒Channel Box,点击编辑Edit,打开表达式Expressions面板 选择需要转动轴rotateX, rotateY, 或者rotateZ 然后在下面输入: object.rotateX = time * -64; 上面的代码表示物体每秒绕x轴逆时针旋转64度.延伸阅读请参见Maya表达式制作时钟转动效果.

processing鼠标移动物体停止旋转

经过一段时间的摸索processing,感觉有一点头绪了.但是processing用起来确实比较吃力. 因为有很多事件不像U3D或者as3那么方面,就简单的鼠标事件,碰撞,这些功能有很多processing 自身就很薄弱了.经过自己的多次的尝试,希望自己做的小案例可以跟一些入门的朋友一起分享 processing鼠标移动物体停止旋转,鼠标离开物体继续旋转 float xs,ys; float angle=0; boolean sbolean=true; float rSphere=100; vo