unity拖拽UI生成Cube并跟随鼠标移动,放置点可放下
代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
using UnityEngine.UI;public class DragCreate : MonoBehaviour
{public GameObject Cube;public GameObject Place;/// <summary>/// 按下响应/// </summary>public void PointerDown(){OnBeginDrag();}/// <summary>/// 开始拖拽/// </summary>public void OnBeginDrag(){GameObject game = Instantiate(Cube);game.SetActive(true);generateGame = game;float distance = Camera.main.transform.InverseTransformPoint(Place.transform.position).z;generateGame.transform.position = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePosition.y, distance));generateGame.transform.rotation = Place.transform.rotation;Place.SetActive(true);}private GameObject generateGame;/// <summary>/// 进行拖拽/// </summary>public void OnDrag(){float distance = Camera.main.transform.InverseTransformPoint(Place.transform.position).z;generateGame.transform.position = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePosition.y, distance));}/// <summary>/// 结束拖拽/// </summary>public void OnEndDrag(){if (generateGame.transform.position.x > Place.transform.position.x - 0.3f&& generateGame.transform.position.x < Place.transform.position.x + 0.3f&& generateGame.transform.position.y > Place.transform.position.y - 0.3f&& generateGame.transform.position.y < Place.transform.position.y + 0.3f) {Place.SetActive(false);generateGame.transform.position = Place.transform.position;}else{Place.SetActive(false);Destroy(generateGame);}}
}
脚本挂载和层级:
unity拖拽UI生成Cube并跟随鼠标移动,放置点可放下相关推荐
- unity 拖拽UI
我们经常会使用拖拽UI的效果,untiy 为拖拽事件也提供了现成的API,我们只要简单的实现几个接口即可 我们用两种方式来实现拖拽代码,一种是使用MonoBehaviour里的方法,一种是实现UI事件 ...
- UE拖拽UI生成Actor
(1)在需要拖拽生成物体的UI中,覆写函数On Mouse Button Down,连接节点按下时侦测拖动,DragKey选择鼠标左键,然后连接返回节点:同时覆写函数On Drag Detected, ...
- 可视化拖拽 UI 布局之拖拽篇
前言:前段时间负责公司的运营管理后台项目,通过运营后台的PC端拖拽配置布局,达到App首页模板的动态UI界面配置,生成页面.趁着周末,整理一下当时所了解到的拖拽.文章会根据大家的反馈或者自己学习经验的 ...
- vue拖动改变模板_可视化拖拽 UI 布局之拖拽篇
前言:前段时间负责公司的运营管理后台项目,通过运营后台的PC端拖拽配置布局,达到App首页模板的动态UI界面配置,生成页面.趁着周末,整理一下当时所了解到的拖拽.文章会根据大家的反馈或者自己学习经验的 ...
- 拖拽动态生成网页-VvvebJs
VvvebJs是一个开源的网页拖拽自动生成的JavaScript库,你可以以简单拖拽的方式生成自己需要的网页样式,内置jquery和Bootstrap,你可以拖拽相关的组件进行网页的构建,非常的方便, ...
- 拖拽式生成CMS和在线商店:Microweber
简介 Microweber是新一代的CMS生成工具,允许你使用拖拽方式创建网站.操作内容以及管理页面布局,而不需要你有任何编码能力! 当然,开发者也可以便捷的创建自己喜欢的网站布局.选择美观的样式而不 ...
- 拖拽生成html页面,简单拖拽即生成网页 VvvebJs
原标题:简单拖拽即生成网页 VvvebJs 导读VvvebJs是一个开源的网页拖拽自动生成的Java库,你可以以简单拖拽的方式生成自己需要的网页样式,内置jquery和Bootstrap,你可以拖拽相 ...
- Java拖拽控件数据库_java实现鼠标拖放功能代码实例
java实现鼠标拖放功能代码实例 利用鼠标的拖放来交换程序的数据,即所谓的鼠标拖放功能.鼠标的拖放功能在图形化系统中非常常用,Java 提供了java.awt.dnd 和java.awt.datatr ...
- Unity3D通过拖拽UI的四个角伸缩UI
从今天开始写博客啦,把自己觉得有用的记录下来,供自己以后使用. 最近做项目遇到的一个需求,简单的实现了一下,大佬们有更好的方法恳请留言告诉我. 下图为UI的层级结构,Anchors下的四个物体为UI的 ...
最新文章
- CentOS6安装nodejs
- 深度优先搜索_0基础学算法 搜索篇第一讲 深度优先搜索
- NumPy迎来重大版本更新,新增函数注释、滑动窗口视图功能,仅支持Python 3.7以上版本...
- UITableView取消选中颜色、常用操作
- 拖链电缆 机器人电缆_选购电缆拖链需要注意哪些要点
- 几分钟了解阿里云云服务器ECS
- tar 备份时如何保持权限
- UVALive - 7511 Multiplication Table(暴力+模拟)
- 优衣库不雅_Uniqlo主页-用户体验案例研究
- 11 所允许的仓储单位类型没有针对仓储类型xxx定义
- Mybatis异常--java.lang.IllegalArgumentException: NO ENUM const class org.apache.ibatis.type.JdbcType.i
- 免费数据集下载网站【dataset】
- kubuntu我显示服务器,还是不行!kubuntu到底怎么配置IP才能上网啊?[已经解决!]...
- 小程序报错类—— thirdScriptError sdk uncaught third Error Cannot read property '$mount' of unde
- NetSuite 合并报表之外币折算差异(CTA)
- Android 的录音分享特性
- 所有计算机专业的学生应该认识到的
- mysql-ip权限操作与限制失效问题
- Leetcode(4)寻找两个有序数组的中位数
- 杨振宁100周岁 张朝阳:他证明了中国人是世界上最聪明的人