兼容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"] ...
随机推荐
- ubuntu16.04编译安装imu_tk
imu_tk代码地址 https://bitbucket.org/alberto_pretto/imu_tk 安装依赖项 sudo apt-get install build-essential cm ...
- [No0000F5]C# 类(Class)
当你定义一个类时,你定义了一个数据类型的蓝图.这实际上并没有定义任何的数据,但它定义了类的名称意味着什么,也就是说,类的对象由什么组成及在这个对象上可执行什么操作.对象是类的实例.构成类的方法和变量成 ...
- React 60S倒计时
React 60S倒计时 1.设置状态: 2.函数主体: 3.应用: 4..效果图:
- Scaleform 中的 3D视角相关研究
参考文献: 1.D3D中的第一人称视角 2.透视投影的原理和实现 http://blog.csdn.net/ww51xh/article/details/2910 3.深入探索透视投影变换 http: ...
- git忽略UserInterfaceState.xcuserstate
使用sourceTree, 忽略
- Python生成器表达式
https://www.cnblogs.com/liu-shuai/p/6098218.html 简介: 生成器表达式并不真正的创建数字列表,而是返回一个生成器对象,此对象在每次计算出一个条目后,把这 ...
- day5_函数_文件读写_用一个函数来满足文件的读或者写_应用默认参数
import json def op_file_tojson(filename,dic=None): #默认值参数,根据是否传dic字典来判断读还是写 if dic: #如果dic传了值,不是空的,则 ...
- 《HTTP - 概述》
晚上听着 木小雅<可能否>,让我这暴躁的一天得以回复一下. 学习是长久之事,不能急躁.应该系统的去学习一些东西. 1:HTTP 最严谨的叫法应该是 超文本转移协议,但大家一般都叫做 超文本 ...
- gitee 使用
gitee 使用 首先在码云仓库创建对应的仓库 当你输入错误用户名和密码 需要清掉配置 git config --system --unset credential.helper 设置账号 git c ...
- Ubuntu 下Anaconda3出现 conda:command not found(未找到命令)
问题:anaconda: command not found解决方案:打开Terminal 1.使用命令:sudo apt install vim 安装vim文本编辑器2.使用命令:vim ~/.ba ...