NGU-学习笔记(1)-动态添加删除图集

现在 正在做unity的方向 不得不说我选的是UI方向 Unity中很有名的就是NGUI插件了.今天做了个ngui的简单背包系统。非常简陋。。初学着 自己mark下

(1)预览

主要就是个 simple popup list控件(为label制作动态字体方便支持中文)

设置如图

mark为空物体,作为动态生成的图集的坐标。为他绑定脚本 child:

using UnityEngine;
using System.Collections;

public class child : MonoBehaviour {

    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {
        Transform[] chinds = this.GetComponentsInChildren<Transform>();
        if (chinds.Length >= 3)
        { Destroy(chinds[1].gameObject); }

    }
}

camera得脚本:

 1 using UnityEngine;
 2 using System.Collections;
 3
 4 public class load_sprite : MonoBehaviour
 5 {
 6     public GameObject parent;
 7     private UIDragObject ud;
 8     // Use this for initialization
 9     void Start()
10     {
11
12     }
13
14     // Update is called once per frame
15     void Update()
16     {
17         parent.transform.position = new Vector3(-1.782f, -0.29f, 0);
18     }
19     public void create()
20     {
21         UIAtlas atlas = (UIAtlas)Resources.Load("Atlas/New Atlas_1", typeof(UIAtlas));
22         UISprite sprite = NGUITools.AddSprite(parent, atlas, UIPopupList.current.value);
23         sprite.transform.localScale = new Vector3(2.0f, 2.0f, 2.0f);
24         sprite.transform.localPosition = Vector3.zero;
25         sprite.gameObject.AddComponent<BoxCollider>().size=new Vector3(100,100,0);
26         sprite.gameObject.AddComponent<Drop_PM>();
27         sprite.tag = "item";
28         sprite.depth = 2;
29
30
31         GameObject go = GameObject.Find("Sprite");
32         BoxCollider col = go.AddComponent<BoxCollider>();
33         col.size = new Vector3(100, 100, 0);
34         go.AddComponent<UIDragDropItem>();
35         go.GetComponent<UIWidget>().depth = 10;
36
37
38
39
40
41     }
42 }

project视图(必须为Resources,内放图集)

还有个动态加载的脚本 重写uidragdropitem

 1 using UnityEngine;
 2 using System.Collections;
 3
 4 public class MyDragItem : UIDragDropItem {
 5
 6     protected override void OnDragDropRelease(GameObject surface)
 7     {
 8         base.OnDragDropRelease(surface);
 9
10         print(surface);
11
12         this.transform.parent = surface.transform;
13         this.transform.localPosition = Vector3.zero;
14     }
15 }

很简单的一个入门实验。

时间: 2024-10-16 04:36:39

NGU-学习笔记(1)-动态添加删除图集的相关文章

Web Service学习笔记:动态调用WebService

原文:Web Service学习笔记:动态调用WebService 多数时候我们通过 "添加 Web 引用..." 创建客户端代理类的方式调用WebService,但在某些情况下我们可能需要在程序运行期间动态调用一个未知的服务.在 .NET Framework 的 System.Web.Services.Description 命名空间中有我们需要的东西. 具体步骤: 1. 从目标 URL 下载 WSDL 数据. 2. 使用 ServiceDescription 创建和格式化 WSDL

jquery动态添加删除一行数据

<html> <head> <title>添加.删除一行</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="../js/jquery-1.9.1.js"></script>

Hadoop动态添加/删除节点(datanode和tacktracker)

总的来说,正确的做法是优先通过配置文件,再在具体机器上进行相应进程的启动/停止操作. 网上一些资料说在调整配置文件的时候,优先使用主机名而不是IP进行配置. 总的来说添加/删除DataNode和TaskTracker的方法非常相似,只是操作的配置项和使用的命令有微小差异. 1. DataNode 1.0 配置文件 在master/namenode下修改配置文件conf/mapred-site.xml. 关键参数dfs.hosts和dfs.hosts.exclude. 注意:不同hadoop版本的

Android学习笔记四:添加Source

问题描述 Source not foundThe JAR file D:\.....\sdk\platforms\android-20\android.jar has no source attachment. 问题原因及解决办法 1. 使用SDK Manager下载最新版本的Sources for Android SDK 一般文件下载目录默认在SDK下的sources文件中即 \adt-bundle-windows-x86_64-20130522\sdk\sources\android-20

js实现网页收藏功能,动态添加删除网址

<html> <head> <title> 动态添加删除网址 </title> <meta charset="utf-8"> <script> function add(){ var name = document.getElementById("name").value; var url = document.getElementById("url").value; var

编辑 Ext 表格(一)——— 动态添加删除行列

一.动态增删行 在 ext 表格中,动态添加行主要和表格绑定的 store 有关, 通过对 store 数据集进行添加或删除,就能实现表格行的动态添加删除. (1) 动态添加表格的行  gridStore.add({}); (2) 动态删除表格的行 gridStore.removeAt(gridStore.count() - 1); 二.动态增删列 在 ext 表格中,动态添加列主要通过修改表格绑定的 column 元素, 通过对 column 元素集进行添加或删除,然后重新渲染表格,就能实现表

安卓动态添加删除多个控件

新手上路,没找到动态添加删除多个控件,捣鼓了个,做错的地方麻烦大家说下 activity_main.xml: <Button        android:id="@+id/add"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:onClick="myclick" 

Jquery 动态添加删除元素 用js添加的元素无法删除问题

用jquery方法的绑定侦听和销毁来解决动态div的增加删除: 正确代码: <script type="text/javascript" > $(document).ready(function(){  bindListener(); }) function addimg(){  $("#mdiv").append('<div ><input type="file" name="img[]" /&

jquery动态添加删除div--事件绑定,对象克隆

我想做一个可以动态添加删除div的功能.中间遇到一个问题,最后在phpchina问答区版主的热心帮助下解答了(答案在最后)        使用到的jquery方法和思想就是:事件的绑定和销毁(unbind),另外还可以使用clone,通过克隆可以很好的解决这个问题          相关描述如下 功能:点击增加,自动添加一个iptdiv 点击 iptdiv后的 X 自动删除当前div 问题:默认存在的(也就是页面加载进来的)的那个iptdiv 后的 X 点击有效,可以删除当前 iptdiv  但