需求是这样子的:

倒计时期间,1,2,3,所有人都不要动哦,移动了脚下会有危险提示图标,移动了就炸你哦

using System.Collections;
using System.Collections.Generic;
using TouchScript;
using TouchScript.Pointers;
using UnityEngine;
using UnityEngine.UI;public class DangerTipMsg : MonoBehaviour
{public List<bool> OffsetTimerFirst = new List<bool>();//物体跟随的对象public GameObject obj;private Dictionary<int, GameObject> cursors = new Dictionary<int, GameObject>(50);private void OnEnable(){if (TouchManager.Instance != null){TouchManager.Instance.PointersAdded += pointersAddedHandler;TouchManager.Instance.PointersRemoved += pointersRemovedHandler;TouchManager.Instance.PointersUpdated += PointersUpdatedHandle;TouchManager.Instance.PointersReleased += PointersReleasedHandle;}for (int i = 0; i < 200; i++){OffsetTimerFirst.Add(true);}}private void OnDisable(){if (TouchManager.Instance != null){TouchManager.Instance.PointersAdded -= pointersAddedHandler;TouchManager.Instance.PointersRemoved -= pointersRemovedHandler;TouchManager.Instance.PointersUpdated -= PointersUpdatedHandle;TouchManager.Instance.PointersReleased -= PointersReleasedHandle;}}private void PointersUpdatedHandle(object sender, PointerEventArgs e){foreach (var item in e.Pointers){GameObject cursor;if (!cursors.TryGetValue(item.Id, out cursor)) continue;// 正常这样子就可以cursor.GetComponent<RectTransform>().anchoredPosition3D = item.Position;// 我项目特殊的情况因为某些特殊的原因 正常用上面那行代码赋值//cursor.GetComponent<RectTransform>().anchoredPosition3D = new Vector3((3468f / (float)Screen.width) * item.Position.x, (2892f / (float)Screen.height) * item.Position.y,0);// 实时检测距离if (OffsetTimerFirst[item.Id]){OffsetTimerFirst[item.Id] = false;StartCoroutine(MoveDistanceInOneMic(item));}}}private void pointersAddedHandler(object sender, PointerEventArgs e){var count = e.Pointers.Count;for (var i = 0; i < count; i++){var pointer = e.Pointers[i];// Don't show internal pointersif ((pointer.Flags & Pointer.FLAG_INTERNAL) > 0) continue;GameObject trail = Instantiate(obj, transform);trail.name = pointer.Id.ToString();trail.transform.GetComponent<RectTransform>().anchoredPosition3D = e.Pointers[i].Position; cursors.Add(pointer.Id, trail);}}private void pointersRemovedHandler(object sender, PointerEventArgs e){var count = e.Pointers.Count;for (var i = 0; i < count; i++){var pointer = e.Pointers[i];// Don't show internal pointersif ((pointer.Flags & Pointer.FLAG_INTERNAL) > 0) continue;GameObject cursor;if (!cursors.TryGetValue(pointer.Id, out cursor)) continue;Destroy(cursor, 1f);cursors.Remove(pointer.Id);}}private void PointersReleasedHandle(object sender, PointerEventArgs e){var count = e.Pointers.Count;for (var i = 0; i < count; i++){var pointer = e.Pointers[i];// Don't show internal pointersif ((pointer.Flags & Pointer.FLAG_INTERNAL) > 0) continue;GameObject cursor;if (!cursors.TryGetValue(pointer.Id, out cursor)) continue;cursor.transform.position = Vector3.zero;}}// 多点触摸 每隔一秒 判断每个触摸点的移动距离IEnumerator MoveDistanceInOneMic(Pointer p){Vector3 v = p.Position;yield return new WaitForSeconds(1f);float length = Vector3.Distance(p.Position, v);OffsetTimerFirst[p.Id] = true;//Debug.Log(length);Image dangerPre = GameObject.Find(p.Id.ToString()).transform.GetComponent<Image>();//1 2 3 木头人 你个傻X 移动了吧if (length > 5){dangerPre.enabled = true;}//else//{//    dangerPre.enabled = false;//}}}

这个是挂在脚下危险提示的脚本,因为他移动了看到了危险就不动了,所以我要取消掉这个危险图标的提示,对的,乖乖站着不要动

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;public class Danger : MonoBehaviour
{Image DangerImage;private IEnumerator Start(){DangerImage = GetComponent<Image>();while (true){bool b = DangerImage.enabled;yield return new WaitForSeconds(2.5f);if(DangerImage.enabled && b){DangerImage.enabled = false;}}}
}

Unity TouchScript 123木头人算法相关推荐

  1. Unity中的AI算法和实现1-Waypoint

    本文分享Unity中的AI算法和实现1-Waypoint 在Unity中, 我们有一些有趣且常见的AI算法可以研究和使用, 其中最常见的就是怪物的简单AI, 比如在RPG游戏里, 怪物在某些点定点巡逻 ...

  2. unity 卡牌聚拢算法

    unity 卡牌聚拢算法 前言 代码 前言 笔者在做项目时遇到了一个要聚拢手牌,像三国杀里的手牌聚拢的效果 大概效果图: 代码 public Dictionary<int, int> le ...

  3. 【youcans 的 OpenCV 例程200篇】123. 形态算法之孔洞填充

    欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 [youcans 的 OpenCV 例程 2 ...

  4. Unity 曲线和弹力算法

    Unity 曲线和弹力算法 主要用来记录一下,也算是笔记,以后回头可以再熟悉下. 所以就直接上代码了. //二阶曲线算法 public static Vector3 Bezier(Vector3 st ...

  5. 本文分享Unity中的AI算法和实现3-有限状态机FSM(下)

    本文分享Unity中的AI算法和实现3-有限状态机FSM(下) 回家生孩子, 暂停了一个多月的更新, 今天重新续上, ^_^. 在上一篇文章中, 我们分享了状态机的基本理论, 然后结合Unity的An ...

  6. Unity中的AI算法和实现2-有限状态机FSM(上)

    本文分享Unity中的AI算法和实现2-有限状态机FSM(上) 在上一篇文章中, 我们基于Waypoint构建了一个最简单的AI怪物, 这个怪物可以在几个点之间巡逻. 本篇文章会在此基础之上, 添加怪 ...

  7. Unity TouchScript大屏

    TouchScript插件简介与下载 在unity中,TouchScript非常适合做展示类大屏幕的多点触控,在AssetStore也是五星好评,还是免费资源,也可以在GitHub上下载对应的Touc ...

  8. 在Unity中使用四叉树算法绘制地形

    四叉树算法在游戏中获得了广泛的应用,前几年3D引擎实现的地形绘制大部分都是用四叉树生成的,因为移动端在硬件方面的限制,我们的地形使用的是美术自己制作的地形,对于程序来说省去了不少工作量,但是作为程序开 ...

  9. Unity 实现A* 寻路算法

    前言 A* 寻路算法是什么 游戏开发中往往有这样的需求,让玩家控制的角色自动寻路到目标地点,或是让 AI 角色移动到目标位置,实际的情况可能很复杂,比如地图上有无法通过的障碍或者需要付出代价(时间或其 ...

  10. Unity TouchScript插件+G4 雷达+使用淘宝买的雷达信心采集模拟点击软件 实现多点触控操作

    使用心得 总体开发下来 你只需要关心功能的实现 多点触摸模拟软件会处理好 模拟软件的设置 这些卖软件的商家会教你怎么设置 先调整好 模拟软件和雷达的触摸范围和触发方式 设置启用TUIO数据发送 Uni ...

最新文章

  1. JVM:查看java内存情况命令
  2. html中设置文本框长度,Html的文本框怎样限制录入文本框的字节长度
  3. 01背包java 源码
  4. python里countsget_在Python中测试访问同一数据的竞争条件的方法
  5. 程序php!index.,php.index
  6. 【OpenCV开发】使用OpenCV的OpenCL(ocl)模块
  7. excel表数据对比 个人收集
  8. Lua字符串库中的几个重点函数介绍
  9. 03-27 耗电量测试
  10. 组合数学引论部分习题答案
  11. 【Nodejs篇三】Node js npm包管理工具
  12. JAVA--scjp证书。
  13. 计算机处理器的hz越大越好,cpu频率是什么意思(处理器频率是越高越好吗)
  14. 紧跟步伐,何恺明新作MAE复现历程
  15. 网上图书 java web_JavaWeb网上图书商城完整项目--验证码
  16. RTP/RTCP工程实践与问题解决方案(合集)
  17. 如何快速剪辑多个视频,将视频分段保存导出播放
  18. java.lang.IllegalArgumentException的问题解决
  19. VS2022(Visual Studio)发布ASP.NET Core Web API应用到Web服务器(IIS)
  20. 获取class的三种方式

热门文章

  1. vb 获取系统声音的电平_音响系统速成方法学习资料
  2. Selenium—获取页面的title,url;使用句柄方式切换窗口
  3. Android短信拦截代码
  4. android 锁屏代码分析,Android锁屏状态下的安全分析
  5. 在gitee上建自己的博客
  6. CSDN博客导出chm格式文档
  7. 权力的游戏中文字幕词云图
  8. 组态王报警历史存MySQL_组态王6.55报警存储与历史数据查询设置全过程
  9. 20192209 Exp2-后门原理与实践
  10. codeforces 676A Nicholas and Permutation