using UnityEngine;
using System.Collections; public class robot : MonoBehaviour { private GameObject myRobot;
private Camera carmera; // Use this for initialization
void Start () {
myRobot = GameObject.Find("robot");
//carmera = Camera.main;
//第二种方式去获取Camera
//carmera = GameObject.Find("Main Camera").GetComponent<Camera>(); Input.multiTouchEnabled = true;
} // Update is called once per frame
void Update () {
handInput();
} void handInput() {
#if !UNITY_EDITOR && ( UNITY_IOS || UNITY_ANDROID )
mobileInput();
#else
if (Input.GetKey(KeyCode.UpArrow)) {
myRobot.transform.Translate(Vector3.forward * Time.deltaTime);
}
if (Input.GetKey(KeyCode.DownArrow)) {
myRobot.transform.Translate(-Vector3.forward * Time.deltaTime);
}
if (Input.GetKey(KeyCode.LeftArrow)) {
myRobot.transform.Translate(Vector3.left * Time.deltaTime);
}
if (Input.GetKey(KeyCode.RightArrow)) {
myRobot.transform.Translate(Vector3.right * Time.deltaTime);
}
// float x = carmera.WorldToScreenPoint(myRobot.transform.position).x;
// Debug.Log("x = " + x);
#endif
} void mobileInput() {
if (Input.touchCount == 1) { if (Input.touches[0].phase == TouchPhase.Moved){
float x = Input.touches[0].position.x;
float y = Input.touches[0].position.y;
if (x > carmera.WorldToScreenPoint(myRobot.transform.position).x) {
myRobot.transform.Translate(Vector3.right * Time.deltaTime);
} else if (x < carmera.WorldToScreenPoint(myRobot.transform.position).x) {
myRobot.transform.Translate(-Vector3.right * Time.deltaTime);
} if (y > carmera.WorldToScreenPoint(myRobot.transform.position).y) {
myRobot.transform.Translate(Vector3.forward * Time.deltaTime);
} else if (y < carmera.WorldToScreenPoint(myRobot.transform.position).y) {
myRobot.transform.Translate(-Vector3.forward * Time.deltaTime);
}
}
}
} }

  1. 两种获取Camera方式。

2. 手机触屏操作,需要进行世界坐标转屏幕坐标。

unity3d触屏操作对象运动的更多相关文章

  1. WPF Multi-Touch 开发:高级触屏操作(Manipulation)

    原文 WPF Multi-Touch 开发:高级触屏操作(Manipulation) 在上一篇中我们对基础触控操作有了初步了解,本篇将继续介绍触碰控制的高级操作(Manipulation),在高级操作 ...

  2. WPF Multi-Touch 开发:基础触屏操作(Raw Touch)

    原文 WPF Multi-Touch 开发:基础触屏操作(Raw Touch) 多点触控(Multi-Touch)就是通过与触屏设备的接触达到人与应用程序交互的操作过程.例如,生活中经常使用的触屏手机 ...

  3. unity3d 触屏多点触控(旋转与缩放)

    unity3d 触屏多点触控(旋转与缩放) /*Touch OrbitProgrammed by: Randal J. Phillips (Caliber Mengsk)Original Creati ...

  4. 使用C#开发Metro 风格应用的路线图 -- 触屏操作

    原文 http://www.cnblogs.com/icuit/archive/2012/05/01/2478312.html win8支持多点触摸技术,而我们在屏幕上所做的各种操作,也最终转换为输入 ...

  5. 基于appium的模拟单点或多点触屏操作

    一.单点触控 TouchAction类:将一系列的动作放在一个链条中,然后将该链条传递给服务器,服务器接受该链条后,解析各个动作,逐个执行,TouchAction类提供了以下几种方法: 短按:pres ...

  6. Appium常用操作之「微信滑屏、触屏操作」

    坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:oschina.云+社区.知乎等各大平台都有. 目录 一.滑屏操作 1.访问之后,马上就滑屏可以吗? 2.连续实现 2 次滑屏 3.代码 二.模拟触屏 ...

  7. windows7触屏操作API

    每当用户触摸触敏式 Windows 7 设备时,Windows 7 多点触控平台都会向您的应用程序发送手势消息 WM_GESTURE.这是现成的免费行为,如果您希望停止接收此类消息,则需要选择退出. ...

  8. window7 触屏操作相关

    一.体系概述 1.Windows Touch Input 和 Gestures消息 Windows Touch消息特性 通过在执行期间的监听和解释来使能.下面的示例展示了Windows7 上消息是怎么 ...

  9. 贪吃蛇大作战canvas实现(手机触屏操作)--地图逻辑

    //html部分 <!DOCTYPE html><html><head lang="en"> <meta charset="UT ...

随机推荐

  1. ASP.NET菜鸟之路之实现新闻列表增删改

    背景 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了. 网站介绍 根据视频的例子修改的方法,其中数据不经 ...

  2. cocos2d-x 实现粒子飞行特效

    效果图 说明 实现效果: 按下鼠标并且移动, 所到之处产生光圈 光圈会以窗口中心为终点, 并且会偏移自身角度对准终点, 然后持续飞行, 直到终点. 附件 下载源码, 请猛击这里!

  3. ERROR:the server has either erred or is incapable of performing the requested operation

    openstack中,有时会经常出现这种错误,原因无二,一是安全组没有设置正确,二是openstack中网络配置会有些问题或者是相关的服务没有启动. 解决方法:1.安全组问题在nova.conf和ne ...

  4. 03_RHEL7.1去掉注册提示

    # rpm –qa|grep subscription-manager 出现类似下面的代码: subscription-manager-firstboot-1.13.22-1.el7.x86_64 s ...

  5. Unity扩展编辑器--类型1:Editor Windows

    Extending the Editor Unity允许你使用自己定制的inspectors和Editor Windows扩展编辑器,并且你可以使用定制的Property Drawers定义属性集在i ...

  6. function的粗浅理解

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. 信号量 sem_t 进程同步

    sem_t分为有名和无名.有名的sem_t通过sem_open来创建, 而无名的sem_t通过sem_init的初始化. 用有名的sem_t来进程间同步是件很容易的事情,百度上一搜很多想相关的例子. ...

  8. 如何做好PPT?

  9. cf B. I.O.U.

    http://codeforces.com/contest/376/problem/B #include <cstdio> #include <cstring> #includ ...

  10. Black Box

    http://poj.org/problem?id=1442 #include<cstdio> #include<algorithm> #include<queue> ...