最近抖音上很火的小游戏,其中的核心划线功能。

 [SerializeField] private float width = 0.1f;[SerializeField] private Color color = Color.black;private LineRenderer line;private Vector2 previousPoint;private void Update(){if (Input.GetMouseButtonDown(0)){//创建线条并渲染line = new GameObject("LineRenderer").AddComponent<LineRenderer>();line.material = new Material(Shader.Find("Sprites/Default")) { color = color };line.useWorldSpace = false;line.widthMultiplier = width;line.positionCount = 1;line.SetPosition(0, (Vector2)Camera.main.ScreenToWorldPoint(Input.mousePosition));//更新线条数据previousPoint = (Vector2)Camera.main.ScreenToWorldPoint(Input.mousePosition);}else if (Input.GetMouseButton(0)){if (previousPoint != (Vector2)Camera.main.ScreenToWorldPoint(Input.mousePosition)){//线条渲染更新line.positionCount++;line.SetPosition(line.positionCount - 1, (Vector2)Camera.main.ScreenToWorldPoint(Input.mousePosition));//增加碰撞器BoxCollider2D collider = new GameObject("BoxCollider2D").AddComponent<BoxCollider2D>();collider.transform.parent = line.transform;Vector2 latestPoint = (Vector2)Camera.main.ScreenToWorldPoint(Input.mousePosition);collider.transform.position = (previousPoint + latestPoint) * 0.5f;float angle = Mathf.Atan2((latestPoint - previousPoint).y, (latestPoint - previousPoint).x) * Mathf.Rad2Deg;collider.transform.eulerAngles = new Vector3(0, 0, angle);collider.size = new Vector2(Vector2.Distance(latestPoint, previousPoint), width);//更新数据previousPoint = (Vector2)Camera.main.ScreenToWorldPoint(Input.mousePosition);}}else if (Input.GetMouseButtonUp(0)){if (line.transform.childCount > 0){//添加刚体line.gameObject.AddComponent<Rigidbody2D>().useAutoMass = true;}}}

Unity 实现画线火柴人核心画线功能相关推荐

  1. 用python画简单火柴人代码-趣学Python编程

    Python是一种强大并通俗易懂的编程语言,而且它易学又好用!但是关于学习Python语言的书大多很枯燥无趣,读起来没什么乐趣.本书把你带入一个鲜活的Python编程世界.作者Jason R. Bri ...

  2. 画火柴人动画的手机软件_王者荣耀 玩家画的火柴人造型的英雄 图五的英雄你能猜出是谁吗...

    王者荣耀中英雄的形象已经让很多玩家印象深刻了,而很多民间画师画出来的英雄也很好看,不过民间画师他们的画功还是有差距的,一些比较不熟练的他们就会直接把英雄画成火柴人的样子,今天我们就来欣赏几张火柴人版的 ...

  3. 【084】Process On-在线多人协作画流程图思维导图

    流程图.思维导图.原型图等都有专业的绘制软件.比如小编画流程图用的Visio,画思维导图用的xmind,画原型图用的Axure.但对于轻度用户来说有没有一个免费,又可以不用下载软件在线画,又可以兼顾多 ...

  4. scratch编程--游泳的火柴人

    说明:自己画的火柴人游来游去... 学习目标:利用角色中的绘制工具,自己绘制角色. 步骤: 1.在背景库中,选择一个水底的背景,点击这个按钮. 2.自己创建角色,点击角色按钮,选绘制,出现如下图:弄造 ...

  5. python火柴人游戏代码_Python小游戏 Hangman

    游戏规则: 玩家一想好一个单词,玩家二猜测这个单词所包含的字母,每次猜测一个,如果玩家二本次没有猜对,玩家一就画出火柴人的一部分,玩家二如果在玩家一画完全部的火柴人之前猜出所有的字母,玩家二获胜. 代 ...

  6. 火柴人战争1android,火柴人战争遗产

    火柴人战争遗产是一款非常好玩的动作冒险游戏,经典的火柴人原画,多重关卡等你来挑战,各种不同的兵种等你训练,快点来下载这款火柴人战争遗产,开启自己的挑战吧! 火柴人战争遗产简介 火柴人战争遗产是一款基于 ...

  7. 只会画火柴人?手残怎样开始学画画?

    只会画火柴人可以学画画吗?零基础手残党怎么学画画?很多小伙伴在学习美术的时候都会遇到各种问题今天美术加带大家了解下手残从哪里开始学画画: 学画画的人一般分为三种:第一种是从小有兴趣,喜欢涂鸦,喜欢将自 ...

  8. 画火柴人动画的手机软件_火柴人动画制作软件(Pivot Stickfigure Animator)2.25 中文版附教程...

    火柴人游戏一直深受广大玩家喜爱,有没有人想过火柴人动画是怎么制作出来的呢?今天小编就为大家带来一款火柴人动画制作软件Pivot Stickfigures Animator,它可以帮你快速而简单的制作出 ...

  9. 怎么用python画火柴人_如何用ai绘制火柴人的教程

    今天小编带来的是Illustrator的绘制教程,是绘制火柴人噢.下面请看步骤: 工具/原料 电脑 Illustrator软件 方法/步骤 1 首先打开空白文档 END 方法/步骤2 1 点击椭圆形工 ...

最新文章

  1. AI独角兽面对BAT,挑战还是臣服?| 《财经》封面
  2. pybind传输list
  3. jsp动作之 getProperty
  4. 判断Java 对象实例是否死亡
  5. 从数据类型 nvarchar 转换为 numeric 时出错_JS入门篇(三):javascript的数据类型详解...
  6. Luogu P1073 最优贸易(NOIp提高组 2009)分层图最短路写法
  7. windows Server 2003使用ip安全策略禁止某ip访问服务器的方法
  8. eclipse-中如何显示工程树形结构
  9. (转载)图像处理(卷积)
  10. 适合完全初学者的Python自学路线图和学习方法
  11. python 读写西门子PLC 包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC...
  12. 【PS】443种逼真度超高水彩笔刷打包下载
  13. iOS Workspace内多project开发
  14. 高性能web平台【Lua语言快速入门】
  15. WPS pdf文档合并收费?Linux平台采用pdfunite实现pdf文档合并
  16. php 元旦祝福,最新常用元旦祝福语
  17. C语言实现浮点数大小端转化
  18. VVDocument Xcode7 安装方法
  19. FTP无法连接linux服务器
  20. 台湾居民居住证遇见首个春运:“刷脸”快速进站

热门文章

  1. 关于linux下报错 jps :command not found 解决
  2. python:七段数码管绘制数字详解
  3. 2021泰迪杯A题-通讯产品销售和盈利能力分析_任务一解题代码
  4. 如何将图片分辨率调高?提升照片分辨率的方法
  5. 三星玄龙骑士电竞显示器Neo G9: 全面提升游戏体验的电竞显示器
  6. 镜像即代码:使用 Packer 实现自动化构建镜像
  7. Android Design Support Library 中控件的使用简单介绍(一)
  8. 微信机器人框架- wechaty
  9. 制作Kinect体感控制小车教程 lt;一gt;
  10. Java线程问题 看完这篇就够了