美文网首页
2D物体的创建与销毁 -- (类似创建子弹)

2D物体的创建与销毁 -- (类似创建子弹)

作者: Nimanggi | 来源:发表于2018-01-31 13:24 被阅读0次

1、创建GameObject
一般来说,创建都是实例化prefab的。最简单的办法是:

if (Input.GetMouseButton (0)) 
{  
        //在鼠标左键点击的地方创建一个物体  
        GameObject obj = Instantiate (Prefab) as GameObject;  
        obj.transform.position = Input.mousePosition;  
}

然后,只需要在界面上将制作好的预制体拖放到变量Prefab上即可。

注意:
在设置新实例化的GO时, 由于坐标系是3D的, 需要做坐标系转换.

        // 本地化 2D 坐标系
        Vector3 screenPosition = Camera.main.WorldToScreenPoint(Input.mousePosition);
        Vector3 mousePositionOnScreen = Input.mousePosition;
        mousePositionOnScreen.z = screenPosition.z;
        Vector3 mousePositionInWorld = Camera.main.ScreenToWorldPoint(mousePositionOnScreen);

如果需要动态创建物体,比如切水果游戏里面,有很多不同的水果,不可能在脚本里面把所有的水果预制体都赋值吧。
这样太繁琐了,也容易出错。
既然有了预制体,那么就可以通过资源加载了,如下:

GameObject knife_pfb = Resources.Load("Prefabs/Knife_pfb") as GameObject;
GameObject knife = Instantiate(knife_pfb) as GameObject; // 5.3.2f1之后需要将 PFB 再实例化为 GO
knife.transform.position = mousePositionInWorld;

Resources在加载资源时,默认是从Assert/Resources下开始搜索资源文件的。文件保存到Resources目录下,或者其子目录下都可以。
比如代码中加载的是Assert/Prefabs/box_full.prefab这个预制体。
加载之后,就可以使用Instantiate进行实例化了。是不是很简单?

2、删除GameObject
调用全局函数Destroy即可。如下:

Destroy (obj); //立即删除obj  
Destroy (obj, 3.0f); //3秒之后删除obj  

相关文章

  • 2D物体的创建与销毁 -- (类似创建子弹)

    1、创建GameObject一般来说,创建都是实例化prefab的。最简单的办法是: 然后,只需要在界面上将制作好...

  • 利用对象池发射子弹(自创)

    利用对象池发射子弹(自创) 一:创建一个新的场景,随便创建一个物体,在这个物体上添加控制代码:控制这个物体前后左右...

  • unity——关于对象池

    关于对象池,其实是为了避免重复的对场景中的某个需要大量存在的物体进行销毁,创建这样反复的过程。当然反复的进行销毁与...

  • 进程的遍历、获取与销毁

    进程的遍历、获取与销毁 创建快照遍历 函数实现 进程的获取与销毁 exp:

  • EffectJava翻译系列(第一章:创建和销毁对象)

    1.创建和销毁对象 这个章节包含创建和销毁对象,什么时候和怎样创建,什么时候避免创建,如何确保对象在准确的时机销毁...

  • 2D游戏场景

    创建2D游戏工程,和场景 创建2D工程 创建2D场景(场景会保存在Asset目录下面) 创建工作层 为了使游戏对象...

  • UObject的创建与销毁

    1、使用NewObject进行创建 2、使用ConditionalBeginDestroy()销毁UObject

  • Effective Java 总结

    创建和销毁对象 静态工厂方法替代构造器1⃣️有名称2⃣️无需每次创建的时候创建一个新的对象 类似享元模式3⃣️ 可...

  • 优雅地创建和销毁对象

    创建和销毁对象概述 何时以及如何创建对象 何时以及如何避免创建对象 如何确保对象适时地销毁 如何管理对象销毁之前必...

  • 《Effective Java》读书笔记(持续更新)

    引言 创建和销毁对象 何时以及如何创建对象,何时以及如何避免创建对象,如何确保创建的对象能够被适时地销毁,以及如何...

网友评论

      本文标题:2D物体的创建与销毁 -- (类似创建子弹)

      本文链接:https://www.haomeiwen.com/subject/dibkzxtx.html