Unity3d C# 物体随物体移动的简单方法

private Vector3 lastPos = Vector3.zero;
 private bool isTouch;
 // Use this for initialization
 void Start () {
 
 }
 
 // Update is called once per frame
 void Update () {
  //判断鼠标是否在点击状态
  if(Input.GetMouseButtonDown (0)){
   isTouch = true;
  } 
  if(Input.GetMouseButtonUp(0)){
   isTouch = false;
   //择鼠标时将lastpos清零
   lastPos = Vector3.zero;
  }
  //在点击状态,物体随鼠标移动
  if(isTouch){
   //参照物屏幕坐标。
   Vector3 screenPos = Camera.main.WorldToScreenPoint(transform.position);
   if(lastPos != Vector3.zero) {
    //拖拽处理
    //一帧内鼠标偏移坐标
    Vector3 offsetPos = Camera.main.ScreenToWorldPoint (new Vector3(Input.mousePosition.x,
                                                                    Input.mousePosition.y,
                                                                    screenPos.z)) - lastPos ;
    transform.position += offsetPos;
   }
   //记录上一帧坐标
   lastPos = Camera.main.ScreenToWorldPoint (new Vector3(Input.mousePosition.x,Input.mousePosition.y,
                                                         screenPos.z)); //转换为世界坐标
   
  }
 }
}

时间: 2024-08-05 07:51:33

Unity3d C# 物体随物体移动的简单方法的相关文章

easyui的datebox格式化最简单方法

看了网上有很多的解决方法,我也写一个比较简单方法.实现easyui的datebox格式化.效果如下,用"++"隔开,看你喜欢用什么都可以. 1.html <span class="span1">证件有效期至:</span> <span><input id="passvali" name="hotel.passvali"></span> 2.js /* 证件有效期至 *

Webbrowser控件判断网页加载完毕的简单方法

一般情况下,当ReadyState属性变成READYSTATE_COMPLETE时,Webbrowser控件会通过触发DocumentCompleted事件来指示网页加载完毕.但当加载的网页包含frame时,可能会多次触发该事件,所以不能简单地通过它来判断网页加载完毕.从微软的官方网站上了解到,并非每个frame都对应了一个DocumentCompleted事件,只有触发了DownloadBegin事件的frame才会有相应的DocumentCompleted事件.另外,最外层的frame总是最

Ubuntu12.04在无网络环境下配置apt-get光盘源的简单方法

许多数据库服务器是不能连上internet,想更新安装包就比较麻烦. 通常可以先在有internet环境的计算机上下载deb包,在拷贝到服务器安装deb,这样很难处理包的依赖关系. apt-get可以解决包的依赖关系,但是默认配置下需要从internet下载包,如果可以从本地读取安装源就可以解决包的依赖关系和无internet的问题. 步骤参考: 1.把光盘插入光驱,并且挂载到本地: mount /dev/cdrom  /mnt 2.备份后修改source.list仓库配置文件: mv /etc

Android peferenceActivity 自定义标题简单方法

Android peferenceActivity 自定义标题简单方法 peferenceActivity 完全使用定义好的布局. 因此不能简单象其它好窗口进行自定,现在我们需要加 一个自定义标题,比如象其它窗口一样加一个统一topbar. 假设这个topbar的布局是 title.xml 一.标准自定义标题栏方法 Android 提供自定义标题栏方法 我们简单实现. @Override protected void onCreate(Bundle savedInstanceState) { f

一个统计代码行数的简单方法

安装Git, 到项目目录下右击->Git Bash, 输入命令: find . -name "*.cs" | xargs wc -l 效果如下, 还是挺简便的. 一个统计代码行数的简单方法,布布扣,bubuko.com

ECMall的MySQL数据调用的简单方法

很多ecmall开发者会问,怎么使用Ecmall的mysql类库进行数据调用.从原理上来讲Ecmall的数据调用是以数据模块+模块类库的方式进行mysql数据调用的,所有数据模块都存储在includesmodels 目录下,这些调用对于初学者来讲是比较复杂的,例如商品的数据调用函数,不能用在店铺的数据调用上,每个数据表都有自己的函数自己的类库和少量的公共类库.因此初学者来讲,调用mysql数据很困难. 现在讲解一个简单的调用方法能满足95%以上的mysql数据调用请求.足够对ecmall进行二次

(原创)Linux跟Window共享文件的两个简单方法

第一中种方法: Linux中启动shell,输入如下命令: mount -t cifs -o username="my-pc-name",password="my-password" //my-ip-addr/sharefolder /mnt/my-linux-sharefolder 回车,ok. 第二种方法: 1. linux的/etc/smb.conf备份,然后touch smb.conf一个新文件. 2. vi smb.conf如下: [global] wor

Win8 App使用Listview的简单方法

这是Win8 App神圣不可侵犯的头文件: <head> <meta charset="utf-8"> <title>ListViewExample</title> <!-- WinJS references --> <link href="//Microsoft.WinJS.0.6/css/ui-light.css" rel="stylesheet"> <script

Java比较两个数组中的元素是否相同的最简单方法

呵呵呵,实现Java比较两个数组中的元素是否相同的功能你是怎么做的?看下面最简单方法: import java.util.Arrays; public class Test { /** * Java比较两个数组中的元素是否相同 */ public static void main(String[] args) { String [] array1 = {"1","2","3"}; String [] array2 = {"3"

一种异构数据库同步的简单方法

标题有点高大上,是为了解决实际应用中的一个问题.做了一个Android应用,用于记录日常消费账单,开始是单机版的,我老婆说太low了,起码要能看到彼此的消费情况吧.为此,我还专门写了一套基于protobuf的RPC组件,用于网络通信,http://www.cnblogs.com/zmkeil/p/5176758.html. 应用本身比较简单,几张简单粗暴的UI,涵盖了增.删.改各种功能,外加一个后台service组件,用于上传账单,并同步他人账单.也算是麻雀虽小五脏俱全吧,看几张效果图.代码见h