NGUI,背包拖拽,以及随机克隆图片知识点
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/*
*文件描述:
*创始人:
*创建时间:
*修改时间:
*版本:1.0
*/
public class Knapsackltem : UIDragDropItem{
int count = 1;
public UILabel numTxt;//预设体上面的文本
public void Add()//添加物品的数量方法
{
count++;//一直累加
numTxt.text = count.ToString();//赋值给文本
}
protected override void OnDragDropRelease(GameObject surface)//OnDragDropRelease:拖放,丢弃,释放
{
base.OnDragDropRelease(surface);//调用父类的方法
print(surface);//碰撞的物体
if (surface.CompareTag("GeZi"))
{
//物品居中
transform.parent = surface.transform;//把靴子放到格子里面
transform.localPosition = Vector3.zero;//把靴子放在格子的正中间
}
else if (surface.CompareTag("WuPin"))
{
//物品交换
Transform parent = surface.transform.parent;//护腕的父对象
surface.transform.parent = transform.parent;//把护腕放入靴子下面
surface.transform.localPosition = Vector3.zero;//护腕居中
transform.parent = parent;//把靴子放入护腕下面
transform.localPosition = Vector3.zero;//靴子居中
}
else
{
Destroy(gameObject);
}
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/*
*文件描述:
*创始人:
*创建时间:
*修改时间:
*版本:1.0
*/
public class MyKnapsack : MonoBehaviour {
public GameObject[] cells;//格子
public string[] names;//物品名称
public GameObject item;//当前物品
void Update()
{
if (Input.GetKeyDown(KeyCode.X))
{
PickUp();
}
}
void PickUp()
{
int index = Random.Range(0, names.Length);//位置
string name = names[index];//随机物品图片名称
for (int i = 0; i < cells.Length; i++)//随机格子
{
if (cells[i].transform.childCount == 0)//格子里面没有物品
{
GameObject go = NGUITools.AddChild(cells[i], item);//克隆一个物品放到格子里面
go.transform.GetComponent<UISprite>().spriteName = name;//更换物品名称
go.transform.localPosition = Vector3.zero;//物品居中
break;
}
else//格子里面有物品
{
//找到预设体上面的图片
UISprite sprite = cells[i].transform.GetChild(0).GetComponent<UISprite>();
if (sprite.spriteName.Equals(name))
{
sprite.GetComponent<Knapsackltem>().Add();//调用预设体上面的脚本
break;
}
}
}
}
}
NGUI,背包拖拽,以及随机克隆图片知识点相关推荐
- 【Unity实现背包拖拽功能 】
Unity实现背包拖拽功能 可以实现背包拖拽交换位置.合成 等一系列功能的实现 using System; using System.Collections; using System.Collect ...
- el-tiptap富文本框拖拽和复制的图片会跳过上传服务器解决方案
最近在业务上遇到个问题,因为富文本框存在一个漏洞,正常使用菜单栏上面的上传图片,会先传到服务器上,再将服务器返回的地址传给后端接口,但是通过拖拽或者复制的图片,依旧是base64格式,查看官方文档也没 ...
- FileReader (三) - 网页拖拽并预显示图片简单实现
以下是一个很贱很简单的一个 在网页上图拽图片并预显示的demo. 我是从https://developer.mozilla.org/en-US/docs/Web/API/FileReader#Stat ...
- html设置图片不可拖拽,js css3实现图片拖拽效果
本文实例为大家分享了css3实现图片拖拽效果的具体代码,供大家参考,具体内容如下 body{ text-align: center; } .container{ display: flex; just ...
- HTML5 -canvas拖拽、移动 绘制图片可操作移动,拖动
关于canvas 的基础知识就不多说了,可以进这个网址学习 http://www.w3school.com.cn/html5/html_5_canvas.asp 对于canvas 和 SVG 其实一开 ...
- flutter实现可缩放可拖拽双击放大的图片功能
### flutter_drag_scale ``` 可缩放可拖拽的功能,可实现图片或者其他widget的缩放已经拖拽 并支持双击放大的功能 ``` 我们知道官方提供了双击缩放,但是不支持拖拽的功能, ...
- HTML5 -canvas拖拽、移动 绘制图片可操作移动,拖动
关于canvas 的基础知识就不多说了,可以进这个网址学习 http://www.w3school.com.cn/html5/html_5_canvas.asp 对于canvas 和 SVG 其实一开 ...
- html5带拖拽上传的图片gallary
改的别人的程序,不能说原创吧,算半个原创 <!DOCTYPE html> <!-- saved from url=(0066)http://enjoyhtml5.com/hackat ...
- html5拖拽图片批量ajax无刷新进度上传
1.前端拖拽图片 之前有篇文章说到HTML5的拖拽(drag.drop,详见:/post/jquery-plugin-1-jquery-drag-and-html5-draggable-api-and ...
最新文章
- 多服务器session共享之memcache共享安装和实现篇(apache+php-windows)
- 小鑫の日常系列故事(十)——排名次_JAVA
- 为了压榨CNN模型,这几年大家都干了什么
- colab如何通过<>来直接加入相对应的代码段呢?模块化代码操作,真好
- 时间和空间复杂度概述【Java _demo版】
- java多线程队列_java多线程消费者生产者模式(BlockingQueue 通过阻塞队列实现)
- (转)Java线程:新特征-线程池
- 2015蓝桥杯C++A:手链样式(圆排列和环排列)
- 图的绝对中心(bzoj 2180: 最小直径生成树)
- 利用express启一个server服务
- MySQL5.6安装流程(MySQL入门)
- 科学计算器java_科学计算器的Java实现
- DELMIA软件:机器人固定点焊仿真
- 骂百度的人为何那么多
- Material Design实战
- optuna自动调参框架对lgb的超参进行优化
- Linux下安装调试MQTT Mosquitto
- Python3 os.mkfifo() 方法、Python3 os.removedirs() 方法
- C语言暴力破解偶然在论坛上看到的一个推理题
- 如何建立一流的互联网产品研发体系?