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. 特殊权限的介绍 SGID SUID SBIT

    Set UID 当s这个标志出现在文件所有者的x权限上时,如/usr/bin/passwd这个文件的权限状态:“-rwsr-xr-x.”,此时就被称为Set UID,简称为SUID.那么这个特殊权限的 ...

  2. PHP设计模式——适配器模式

    <?php /** * 适配器模式 * 适配器模式是将某个对象的接口适配为另一个对象所期望的接口 * * 在需要转化一个对象的接口用于另一个对象时,最好实现适配器模式对象 */ class We ...

  3. 字符ASCII转换

    实现效果: 关键知识: 实现代码: private void button1_Click(object sender, EventArgs e) { if (textBox1.Text != stri ...

  4. 学校管理系统C#(数据库、源码、演讲内容、ppt等)

    该系统使用C#语言编程 在学院项目展获取第一名 git地址:https://github.com/weibanggang/schoolsystem

  5. MVC学习四:Razor视图语法

    @{ Layout = null; } <hr /> <!DOCTYPE html> @this.GetType().Assembly.Location.ToString() ...

  6. Openresty最佳案例 | 第3篇:Openresty的安装

    转载请标明出处: http://blog.csdn.net/forezp/article/details/78616645 本文出自方志朋的博客 我的服务器为一台全新的centos 7的服务器,所以从 ...

  7. 菜鸟笔记 -- Chapter 6.1 面向对象概述

    6.1 面向对象概述 在程序开发的初期人们使用结构化开发语言,但是随着时间的流逝,软件的规模越来越庞大,结构化语言的弊端逐渐暴露出来,开发周期被无限制拖延,产品质量也不尽如人意,人们终于发现结构化语言 ...

  8. 数据库:DDL/DML/DCL/TCL基本概念

    SQL(Structure Query Language)语言是数据库的核心语言 1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE 子句组成的查询块: ...

  9. BZOJ2844: albus就是要第一个出场(线性基)

    Time Limit: 6 Sec  Memory Limit: 128 MBSubmit: 2054  Solved: 850[Submit][Status][Discuss] Descriptio ...

  10. JDBC编程:获取数据库连接

    JDBC(Java Database Connectivity),即Java数据库连接.通过JDBC编程,可以使Java应用程序和数据库进行交互. JDBC驱动的方式有很多种,我们常用的驱动方式为:本 ...