代码:

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并跟随鼠标移动,放置点可放下相关推荐

  1. unity 拖拽UI

    我们经常会使用拖拽UI的效果,untiy 为拖拽事件也提供了现成的API,我们只要简单的实现几个接口即可 我们用两种方式来实现拖拽代码,一种是使用MonoBehaviour里的方法,一种是实现UI事件 ...

  2. UE拖拽UI生成Actor

    (1)在需要拖拽生成物体的UI中,覆写函数On Mouse Button Down,连接节点按下时侦测拖动,DragKey选择鼠标左键,然后连接返回节点:同时覆写函数On Drag Detected, ...

  3. 可视化拖拽 UI 布局之拖拽篇

    前言:前段时间负责公司的运营管理后台项目,通过运营后台的PC端拖拽配置布局,达到App首页模板的动态UI界面配置,生成页面.趁着周末,整理一下当时所了解到的拖拽.文章会根据大家的反馈或者自己学习经验的 ...

  4. vue拖动改变模板_可视化拖拽 UI 布局之拖拽篇

    前言:前段时间负责公司的运营管理后台项目,通过运营后台的PC端拖拽配置布局,达到App首页模板的动态UI界面配置,生成页面.趁着周末,整理一下当时所了解到的拖拽.文章会根据大家的反馈或者自己学习经验的 ...

  5. 拖拽动态生成网页-VvvebJs

    VvvebJs是一个开源的网页拖拽自动生成的JavaScript库,你可以以简单拖拽的方式生成自己需要的网页样式,内置jquery和Bootstrap,你可以拖拽相关的组件进行网页的构建,非常的方便, ...

  6. 拖拽式生成CMS和在线商店:Microweber

    简介 Microweber是新一代的CMS生成工具,允许你使用拖拽方式创建网站.操作内容以及管理页面布局,而不需要你有任何编码能力! 当然,开发者也可以便捷的创建自己喜欢的网站布局.选择美观的样式而不 ...

  7. 拖拽生成html页面,简单拖拽即生成网页 VvvebJs

    原标题:简单拖拽即生成网页 VvvebJs 导读VvvebJs是一个开源的网页拖拽自动生成的Java库,你可以以简单拖拽的方式生成自己需要的网页样式,内置jquery和Bootstrap,你可以拖拽相 ...

  8. Java拖拽控件数据库_java实现鼠标拖放功能代码实例

    java实现鼠标拖放功能代码实例 利用鼠标的拖放来交换程序的数据,即所谓的鼠标拖放功能.鼠标的拖放功能在图形化系统中非常常用,Java 提供了java.awt.dnd 和java.awt.datatr ...

  9. Unity3D通过拖拽UI的四个角伸缩UI

    从今天开始写博客啦,把自己觉得有用的记录下来,供自己以后使用. 最近做项目遇到的一个需求,简单的实现了一下,大佬们有更好的方法恳请留言告诉我. 下图为UI的层级结构,Anchors下的四个物体为UI的 ...

最新文章

  1. CentOS6安装nodejs
  2. 深度优先搜索_0基础学算法 搜索篇第一讲 深度优先搜索
  3. NumPy迎来重大版本更新,新增函数注释、滑动窗口视图功能,仅支持Python 3.7以上版本...
  4. UITableView取消选中颜色、常用操作
  5. 拖链电缆 机器人电缆_选购电缆拖链需要注意哪些要点
  6. 几分钟了解阿里云云服务器ECS
  7. tar 备份时如何保持权限
  8. UVALive - 7511 Multiplication Table(暴力+模拟)
  9. 优衣库不雅_Uniqlo主页-用户体验案例研究
  10. 11 所允许的仓储单位类型没有针对仓储类型xxx定义
  11. Mybatis异常--java.lang.IllegalArgumentException: NO ENUM const class org.apache.ibatis.type.JdbcType.i
  12. 免费数据集下载网站【dataset】
  13. kubuntu我显示服务器,还是不行!kubuntu到底怎么配置IP才能上网啊?[已经解决!]...
  14. 小程序报错类—— thirdScriptError sdk uncaught third Error Cannot read property '$mount' of unde
  15. NetSuite 合并报表之外币折算差异(CTA)
  16. Android 的录音分享特性
  17. 所有计算机专业的学生应该认识到的
  18. mysql-ip权限操作与限制失效问题
  19. Leetcode(4)寻找两个有序数组的中位数
  20. 杨振宁100周岁 张朝阳:他证明了中国人是世界上最聪明的人

热门文章

  1. 组合类和友员类的差异有哪些(C++)
  2. 布尔教育mysql_布尔教育最新Mysql教程 Mysql入门到实战 基于php讲解 付源码
  3. SQL 入门的必读好书
  4. C语言:编译时指定头文件路径
  5. 腾讯云轻量应用服务器CentOS系统使用docker安装tomcat,MySQL 并发布SSM maven项目
  6. 团体程序设计天梯赛-练习集
  7. 交换机access端口、hybrid端口、trunk端口配置
  8. 一款用autoit3写的小游戏,大家娱乐下
  9. Ubuntu折腾--优化wine 微信小黑框处理
  10. MapReduce Hold不住?