GetCreateObject:

using UnityEngine;

public class GetCreateObject : MonoBehaviour {
GameObject emptyGo;
Light goLight;
GameObject goCamera;
public Camera pCamera;
public Transform goRoot;
Transform transLight; GameObject tank; void Start () {
//创建物体:在当前场景中创建一个GameObject
emptyGo = new GameObject("New"); //寻找物体:获取当前GameObject的Component
goLight = GetComponent<Light>();
goLight.color = Color.red; //寻找物体:获取当前场景中其他GameObject
goCamera = GameObject.Find("Main Camera");
goCamera.transform.Translate(, , -); //创建物体:通过public属性,在Unity中拖动控件的方式
pCamera.transform.Translate(, , ); //寻找物体:通过工具方法找到物体
FindChild(goRoot, "Light", ref transLight);
transLight.GetComponent<Light>().color = Color.green; Debug.Log("Test"); //添加脚本:用代码方式创建GameObject并添加脚本
tank = new GameObject("Tank");
tank.AddComponent<Tank>();
} /// <summary>
/// 寻找物体
/// </summary>
/// <param name="trans">作为父物体的tranform</param>
/// <param name="findName">名称</param>
/// <param name="_trans">找到的物体</param>
void FindChild(Transform trans, string findName, ref Transform _trans)
{
if (trans.name.Equals(findName))
{
_trans = trans.transform;
return;
}
if (trans.childCount != )
{
for(int i = , length = trans.childCount; i < length; i++)
{
FindChild(trans.GetChild(i), findName, ref _trans);
}
}
}
}

Tank:

using UnityEngine;

public class Tank : MonoBehaviour {

    //加载物体:拖动方式得到预置体
public GameObject goBullet;
private GameObject bullet; //加载物体:用资源加载方式得到预置体,这种方式下资源要放在Assets/Resources文件夹下
private GameObject mBullet;
private GameObject myBullet; // Use this for initialization
void Start () {
mBullet = Resources.Load("Bullet") as GameObject;
} // Update is called once per frame
void Update () {
if (Input.GetButtonDown("Fire1"))
{
//让预置体生成在场景中
bullet = Instantiate(goBullet);
bullet.transform.parent = this.transform;
} else if(Input.GetButtonDown("Fire2")) {
myBullet = Instantiate(mBullet);
myBullet.transform.parent = this.transform;
}
}
}

Bullet:

using UnityEngine;

public class Bullet : MonoBehaviour {

    Vector3 fwd;

    // Use this for initialization
void Start () {
//向前向量
fwd = transform.TransformDirection(Vector3.forward);
} // Update is called once per frame
void Update () {
//给一个向前的力,打出去
GetComponent<Rigidbody>().AddForce(fwd * );
}
}

参数如图:

Unity3d创建物体,寻找物体,加载物体,添加脚本的更多相关文章

  1. 【Unity3D】Unity3D之 Resources.Load 动态加载资源

    [Unity3D]Unity3D之 Resources.Load 动态加载资源 1.Resources.Load:使用这种方式加载资源,首先需要下Asset目录下创建一个名为Resources的文件夹 ...

  2. Unity3d Web3d资源的动态加载

    Unity3d Web3d资源的动态加载 @灰太龙 参考了宣雨松的博客,原文出处http://www.xuanyusong.com/archives/2405,如果涉及到侵权,请通知我! Unity3 ...

  3. os引导程序boot 在根目录区寻找os加载程序文件loader 对应的根目录条目

    [0]README 0.0) source code from orange's implemention of a os and for complete code , please visit h ...

  4. js动态创建的select2标签样式加载不上解决办法

    js动态创建的select2标签样式加载不上:调用select2的select2()函数来初始化一下: js抛出了Uncaught query function not defined for Sel ...

  5. 【NGUI】Unity3D UIGrid 排序、动态加载与销毁

    本帖最后由 Lucifer_H 于 2014-10-31 09:39 编辑 做 UIGrid 的动态加载是做游戏的装备列表时用到的,装备信息都是从后台发过来的,具体加载的代码如下: [C#] 纯文本查 ...

  6. KEngine:Unity3D资源的打包、加载、调试监控

    资源模块做什么? 资源模块——ResourceModule,是KEngine中最核心的模块,其他模块基本或多或少的对它有依赖,它主要的功能是:资源打包.路径定义.资源管理.资源调试. 资源模块对Uni ...

  7. 从整体上理解进程创建、可执行文件的加载和进程执行进程切换,重点理解分析fork、execve和进程切换

    学号后三位<168> 原创作品转载请注明出处https://github.com/mengning/linuxkernel/ 1.分析fork函数对应的内核处理过程sys_clone,理解 ...

  8. 如何用Swift创建一个复杂的加载动画

    现在在苹果应用商店上有超过140万的App,想让你的app事件非常具有挑战的事情.你有这样一个机会,在你的应用的数据完全加载出来之前,你可以通过一个很小的窗口来捕获用户的关注. 没有比这个更好的地方让 ...

  9. Swift微博项目--Swift中通过类名字符串创建类以及动态加载控制器的实现

    Swift中用类名字符串创建类(用到了命名空间) OC中可以直接通过类名的字符串转换成对应的类来操作,但是Swift中必须用到命名空间,也就是说Swift中通过字符串获取类的方式为NSClassFro ...

随机推荐

  1. 「bzoj3956: Count」

    题目 刚开始并没有看懂题意于是痛苦的挣扎了好久 题意是这样的 问\([l,r]\)有多少对\((i,j)\)满足\(a_i\)和\(a_j\)恰好是\(a_i...a_j\)中严格最大的两个数 强制在 ...

  2. 【[USACO16OPEN]262144】

    发现这个数列的范围特别大但是值域的范围特别小 于是可以大胆猜测这道题值域肯定需要开到状态里去 又发现\(262144=2^{18}\)这个暗示非常明显啊,暗示这道题跟二进制有关系 其实也没什么关系 设 ...

  3. Windows后门小计

    嗅探欺骗: 在目标机上安装嗅探工具窃取管理员的密码 放大镜替换: 构造批处理: @echo off net user gslw$ test168 /add net localgroup adminis ...

  4. 论文翻译:XNOR-Net: ImageNet Classification Using BinaryConvolutional Neural Networks

    目录 Abstract 1 Introduction 2 Related Work 3 Binary Convolutional Neural Network 3.1 Binary-Weight-Ne ...

  5. Blog 使用Jsoup解析出html中的img元素

    Jsoup主页:http://jsoup.org/ 在Blog.java 加入 private List<String> imageList=new LinkedList<Strin ...

  6. UliPad安装

    1 http://www.cnblogs.com/dolphin0520/p/4012804.html 2 http://www.iplaypython.com/editor/ulipad.html

  7. MVC5 Attribute(特性)

    AuthorizeAttribute:一般用来判断权限 ActionFilterAttribute:方法执行前后动作 OutputCacheAttribute:输出缓存设置 注:我们创建名称的时候请带 ...

  8. Rman 管理 archivelog 的命令

    因为archivelog的相关信息是记录在controlfile中的,当物理删除后不会改变controlfile的设置.并且在查询相关的动态视图(例如v$archived_log)时,该部分日志仍然标 ...

  9. 浅谈箭头函数和setTimeout中的this

    箭头函数会改变this的指向,这个大家看文档都看到过,可是有没有具体理解呢?我发现自己应该可能大概是......emmmm,然后我整理了一遍,加强一下概念吧顺带再讲一下setTimeout这个函数改写 ...

  10. Angularjs基础(六)

    AngularJS HTML DOM AngularJS为HTML DOM 元素的属性提供了绑定应用数据的指令. ng-disabled指令 ng-disabled指令直接绑定应用数据到HTML的di ...