Skip to content

cuiwenchu

chu
查看 18826 推荐 0 ?? 0
?

Shortcut

Prev上一页 文章

Next下一页 文章

Larger Font Smaller Font 向上 向下 Go comment 打印
?

Shortcut

Prev上一页 文章

Next下一页 文章

Larger Font Smaller Font 向上 向下 Go comment 打印


放置怪兽

为了便于放置,项目的Prefab 文件夹包含了一个Monster 预制件。

怪兽——已经准备好使用了

这时,它是一个由三个不同精灵和作为子集的射击动画组成的空游戏对象。每一个精灵代表怪兽在不同的能力等级。预制件还包含了一个Audio Source组件,每当怪兽发射激光时都可以触发它来播放一段音乐。

现在要创建可以在Openspot上放置Monster 的脚本了。在Project Browser中,从Prefabs 选择Openspot 。在Inspector中,点击Add Component,然后选择New Script 并命名为PlaceMonster。选择C Sharp语言并点击Create and Add。由于给Openspot预制件添加了脚本,场景中所有的Openspots都有了附加的脚本。多么整齐!

双击脚本以便在MonoDevelop中打开。然后填入下边两个变量:

public GameObject monsterPrefab;
private GameObject monster;

要实例化存储在monsterPrefab中的对象来创建一个怪兽,并将它存储在monster以便在游戏中可以控制它。

每个位置一个怪兽

添加下边的方法来允许每个位置只放置一个怪兽:

private bool canPlaceMonster(){
    return monster ==null;
}

在canPlaceMonster()中检查monster变量是否为空。如果是,意味着目前这里没有怪兽并且可以放置一个。
现在添加下边的代码以便玩家点击这个游戏对象时实际放置一个怪兽:

//1
void OnMouseUp(){
//2
if(canPlaceMonster()){
//3
    monster =(GameObject)Instantiate(monsterPrefab, transform.position, Quaternion.identity);
//4
AudioSource audioSource=gameObject.GetComponent<AudioSource>();
audioSource.PlayOneShot(audioSource.clip);

点击鼠标时这段代码会放置一个怪兽,这是怎么实现的?

  1. 当玩家点击游戏对象的物理碰撞器时unity会自动呼叫OnMouseUp。
  2. 呼叫时,如果canPlaceMonster() 返回值为true时这个方法放置一个新的怪兽。
  3. 用Instantiate来创建怪兽,一个创建有特殊位置和旋转的预制件实例的方法。这种情况下,复制monsterPrefab,给它现有游戏对象的位置并且不做旋转,将结果抛给GameObject 并在 monster里存储它。
  4. 最后,呼叫PlayOneShot来播放附加在对象的AudioSource组件上的声音效果。
    现在,PlaceMonster 脚本可以放置新的怪兽了,不过还是需要指定预制件。

使用正确的预制件

保存文件并切换到unity场景。
为了指定monsterPrefab 变量,首先在项目浏览视口的Prefabs 文件夹里选择Openspot 。
在Inspector中,点击PlaceMonster (Script) 组件的Monster Prefab 字段右边的圆圈,并从出现的对话框中选择Monster 。

就是那个。运行场景并且通过点击在不同的X点放置怪兽。

成功啦!现在可以创建怪兽了。然而它们看起来有些奇怪,因为怪兽所有的子精灵都是画出来的。以后会修复它。

下一期我们将会介绍到如何给这些怪兽升级。


List of Articles
编号 分类 标题 作者 日期 查看
20 모바일 구글플레이 웹에서 국가별로 이동 chu 2020.11.19 401
19 모바일 rollingostrich 隐私条款 chu 2020.04.20 3372
18 모바일 安卓应用在各大应用市场上架方法整理 chu 2018.05.03 8891
17 모바일 如何在unity中制作塔防游戏 —— 完结篇 10 chu 2017.02.13 20013
16 모바일 如何在unity中制作塔防游戏 —— 瞄准敌人 09 chu 2017.02.13 19744
15 모바일 如何在unity中制作塔防游戏 —— 完善敌人 08 chu 2017.02.13 20066
14 모바일 如何在unity中制作塔防游戏——通知系统 07 chu 2017.02.13 22607
13 모바일 如何在unity中制作塔防游戏——学会转向 06 chu 2017.02.13 18474
12 모바일 如何在unity中制作塔防游戏——敌人来了 05 chu 2017.02.13 20498
11 모바일 如何在unity中制作塔防游戏——继续升级怪兽 04 chu 2017.02.13 18454
10 모바일 如何在unity中制作塔防游戏——升级怪兽 03 chu 2017.02.13 21856
» 모바일 如何在unity中制作塔防游戏——放置怪兽 02 chu 2017.02.13 18826
8 모바일 如何在unity中制作塔防游戏——搭建场景 01 chu 2017.02.13 22847
7 모바일 可视化游戏制作软件 chu 2016.03.11 23801
6 모바일 쇼미 훙미note3 한글화 하기 file chu 2016.03.09 41527
5 모바일 cocoapods 安装 chu 2015.10.08 25330
4 모바일 这个导演用iPhone拍了一部电影 然后就火了 chu 2015.04.27 26175
3 모바일 iphone에 메일 세팅 file chu 2015.03.09 26174
2 모바일 앱 개발자 시장 조사 보고서 - Developer Economics 1Q 2014 chu 2015.02.13 26127
1 모바일 iphone으로 영화 촬영 chu 2015.02.02 35981
Board Pagination Prev 1 Next
/ 1