兼容PC和手机触摸代码
测试环境:unity3d 4.6.1
using UnityEngine;
using System.Collections; public class neccc : MonoBehaviour
{ public bool isMouseDown = false;
private Vector3 lastMousePosition = Vector3.zero; Vector3 defaultPosition;
public float speed = 0.5f; void Start()
{
lastMousePosition = Input.mousePosition; }
// Update is called once per frame
void Update()
{ /*
* Camera.ScreenToWorldPoint 屏幕转世界位置
从屏幕空间到世界空间的变化位置。 屏幕空间以像素定义。屏幕的左下为(0,0);右上是(pixelWidth,pixelHeight),Z的位置是以世界单位衡量的到相机的距离。
*/
#region 鼠标移动(手机屏幕移动)鼠标或者手指不一定要在角色上 角色跟着移动 注意:这里必须2D游戏。即。在创建游戏的时候选择2D
if (Input.GetMouseButtonDown())
{
isMouseDown = true; }
if (Input.GetMouseButtonUp())
{
isMouseDown = false;
lastMousePosition = Vector3.zero;
}
if (isMouseDown)
{
if (lastMousePosition != Vector3.zero)
{
//camera.main.ScreenToWorldPoint(Input.mousePosition);
Vector3 offetSet = Camera.main.ScreenToWorldPoint(Input.mousePosition) - lastMousePosition; transform.position = transform.position + offetSet;
}
lastMousePosition = transform.position;
}
#endregion } /// <summary>
/// 鼠标按下,记住当前鼠标的位置(如果是手机。则是触摸的位置)
/// </summary>
void OnMouseDown()
{
defaultPosition = Input.mousePosition;
} /// <summary>
/// 鼠标拖动(手机屏幕上拖动)移动物体
/// </summary>
void OnMouseDrag()
{
Vector3 v = Input.mousePosition - defaultPosition;
transform.position = v;
//平滑速度,根据需要用
//transform.position += v * Time.deltaTime * speed;
defaultPosition = Input.mousePosition;
} }
兼容PC和手机触摸代码的更多相关文章
- unity中手机触摸代码
#elif UNITY_IOS || UNITY_ANDROID if(Input.touchCount <= 0) { return;/ ...
- 一款多功能的移动端滚动选择器,支持单选到多选、支持多级级联、提供自定义回调函数、提供update函数二次渲染、重定位函数、兼容pc端拖拽等等..
https://github.com/onlyhom/mobileSelect.js/blob/master/docs/README-CN.md mobileSelect.js 一款多功能的移动端滚动 ...
- 网页中插入外部视频的几种方法(PC与手机网页通用)
网页中加入视频的几种方法(PC与手机网页通用) 方法一: <!doctype html> <html> <head> <meta charset=" ...
- 手把手教你做一个原生js拖动滑块【兼容PC和移动端】
废话少说: 在PC端可以用mousedown来触发一个滑块滑动的效果,但在手机上,貌似无法识别这个事件,但手机上有touchstart事件,可以通过一系列"touch"事件来替代P ...
- 【转】Nginx区分PC或手机访问不同网站
原文链接:http://www.nginx.cn/784.html 近几年来,随着手机和pad的普及,越来越多的用户选择使用移动客户端访问网站,而为了获取更好的用户体验,就需要针对不同的设备显示出最合 ...
- JS判断登陆端是PC还是手机
前些天朋友问我怎么判断登陆端是PC还是手机...自己也是很困惑,然后自己查了资料,这些东西都藏在USER-AGENT里面,查了他的一些属性,写了一个简单的验证页面大家共同学习. 读取navigator ...
- 【ASP.NET】判断访问网站的客户端是PC还是手机
原文:[ASP.NET]判断访问网站的客户端是PC还是手机 主要就是通过客户端传递的User-agent来判断访问网站的客户端是PC还是手机,.NET中就是Request.ServerVariable ...
- 表单界面的兼容PC手机端解决方案
就当写一篇随笔吧~上星期还在做加盟模块(兼容微信端),这星期已经加班做快递扫码模块(react+node),所以我感觉只有弹药备足了才能稍微轻松些应对各种需求.实话说在同个部门的大佬面前差距确实大,如 ...
- 【ASP.NET 进阶】判断访问网站的客户端是PC还是手机
主要就是通过客户端传递的User-agent来判断访问网站的客户端是PC还是手机,.NET中就是Request.ServerVariables["HTTP_USER_AGENT"] ...
随机推荐
- [No000017D]改善C#程序的建议6:在线程同步中使用信号量
所谓线程同步,就是多个线程之间在某个对象上执行等待(也可理解为锁定该对象),直到该对象被解除锁定.C#中对象的类型分为引用类型和值类型.CLR在这两种类型上的等待是不一样的.我们可以简单的理解为在CL ...
- [No0000163]卷福、神秘博士和一群老戏骨表演群口相声:To be or not to be该咋念,简直高潮迭起
'To be or not to be, that is the question',<哈姆雷特>中这句经典台词到底应该怎么念? 这是古今无数哈姆雷特演员最爱琢磨的问题,一千个人就 ...
- java登录怎么做
(一)1.先查找有没当前用户.2.对比用户名和密码3.返回用户信息 @Override public AppResultEntity userLogin(String username, String ...
- [development][http][libhtp] suricata的http库--libhtp
首先,从文档来看, 它支持管道化的http, 也可以说过于重量级. 其次, 还没有达到产品化的稳定性. 并不是完全对应我的需求, http模块是一个整体性能相关模块. 应该按需定制更合理. 但是,功能 ...
- Qt5线程错误:QThread: Destroyed while thread is still running(执行runThread->exit(0))
背景: 当前类,编写接收子线程类信号的槽函数和触发子线程类执行的信号: 新建一个子线程类,编写槽函数和信号,MyClass *m_MyClass=new MyClass(): 新建一个线程对象QThr ...
- 重读《深入理解Java虚拟机》三、Java虚拟机执行的数据入口(类文件结构)
1.Java如何实现平台无关系 Java要实现平台无关系就需要在Java代码和本地机器之间引入一个中间层,实现Java代码和本地机器的解耦,而这个中间层就是字节码.字节码独立于本地机器,以实现代码的可 ...
- MyEclipse下创建的项目 导入eclipse
1.导入在MyEclipse下创建的项目 2.把项目变成Web项目,在项目上右键-->Properties-->选择Project Facets-->点击Convert to fac ...
- fdisk vs df
fdisk工具是分区工具:df是用来查看文件系统(分区)的使用情况的! 当用来查看分区信息时,较为相似: fdisk侧重于显示分区表的信息: df侧重于显示当前系统中所有文件系统的信息: 常用用法: ...
- 海思QT4.8.0开发总结
1.QT4.8.0移植 2.QT4.8.0界面的透明度设置 发现设置空间透明度时候,QT显示的绿色的背景,没有透明!设置如下: 在程序起始的地方设置: hisi_init(); QWSServer:: ...
- 对比库表结构,生成SQL
网上找了一圈对比库的工具,能手工生成差别的SQL的工具没有,改造了一下网上的sql 1, 获取字段名的类型 create FUNCTION [dbo].[getColType](@tab varcha ...