我现在的思路大概是这样的,2D游戏

Hierachy视图

有一个总的Canvas节点,挂载一个总的游戏控制脚本game_scene,下面有这样一些子节点

1.game_root:下面存放游戏界面中的物体,像飞机,敌机,子弹

2.game_ui:下面存放游戏的UI控件,像游戏分数的显示

3.menu_root:下面存放开始游戏时候的菜单界面,像开始游戏按钮

4.如果是重复不断生成的物体(子弹,敌机),需要设置成预制体,在代码里面不断生成节点,并在满足某种条件时删除节点,这些代码也是挂载在这些预制体中的,并不是挂载在空的父节点下。

脚本挂载

每一个节点的具体功能是什么,或者它自己的职责是什么,其对应的挂载的脚本里面就要写些什么。

总的游戏控制脚本game_scene里面要写的东西:

  a.界面按钮的监听器函数

  b.监听器函数所要做的事情的函数(删除或隐藏菜单节点menu_root)

  c.监听器函数所要做的事情的函数(游戏节点下的某些物体的某些动作的开始函数,里面调用比如飞机发射子弹的开始函数,敌机生成的开始函数)

游戏背景:

  a.有一个向下的移动速度

  b.移动到底时能够重新头开始接上,形成repeat的样子

子弹:

  a.有一个向上的移动速度

  b超出Canvas上边界后删除

  c.碰到敌机后删除

敌机:

  a.有一个向下的移动速度

  b.超出Canvas下边界一段距离后删除

  c,碰到子弹后播放爆炸动画,碰到飞机没反应。

  d.爆炸后抛出一个委托,用来被父节点捕捉并执行分数增加的函数。

敌机父节点:

  a.有一个生成敌机的开始函数

  b.在指定位置随机选择生成一组敌机

  c.这组敌机里面的各个敌机的位置是先前设置好的,但是某个位置的敌机的类型是随机的。

  d.管理每个敌机抛出的委托,增加游戏分数,动态改变到UI层的分数中

飞机:

  a.飞行可以被鼠标控制移动

  b.有一个发射子弹的开始函数

  c.在指定位置发射出子弹

  d.碰到敌机后播放爆炸动画

  e.爆炸后一段时间再次生成

  f.重新生成后有几秒无敌状态

注意

1.menu和ui一般都不挂脚本

  a.menu负责抛出事件,在game_scene总控制器脚本里面写响应函数。

  b.ui把自己的某个显示节点拖进别的节点的脚本的public属性中动态改变。

2.动画脚本一般挂在目标节点的子节点下面,方便想修改动画的时候就修改动画,也有直接挂在目标节点下面的。

关于Unity的开发思路的更多相关文章

  1. Unity 消消乐开发思路

    以简单的方式讲述游戏开发思路,暂时没有实践,如有错误,欢迎各位大佬指错 关卡数据保存方式 数据保存我选用json,可读性强,解析快 消消乐物体处理方式 消消乐物体我将以预制体的方式使用(把物品拖到As ...

  2. 【Unity游戏开发】用C#和Lua实现Unity中的事件分发机制EventDispatcher

    一.简介 最近马三换了一家大公司工作,公司制度规范了一些,因此平时的业余时间多了不少.但是人却懒了下来,最近这一个月都没怎么研究新技术,博客写得也是拖拖拉拉,周六周天就躺尸在家看帖子.看小说,要么就是 ...

  3. 关于Unity游戏开发方向找工作方面的一些个人看法

     这是个老生常谈,却又是谁绕不过去的话题,而对于每个人来说,所遇到的情况又不尽相同,别人的求职方式和路线不一定适合你,即使是背景很相似的两个人,有时候机遇也很重要. 我本人的工作经验只有一年,就业方式 ...

  4. halcon学习笔记——机器视觉工程应用的开发思路【转】

    转自:http://www.cnblogs.com/hanzhaoxin/archive/2013/02/15/2912879.html 机器视觉工程应用主要可划分为硬件和软件两大部分. 硬件:工程应 ...

  5. Android常见开发思路

    开发思路 刷新: 重新获取数据 清空list 更新适配器 关闭进度条. 加载更多 1. 重新获取数据 添加list 更新适配器 添加轮播条. 自己设计轮播条View 引入lib库文件 设置轮播条数据. ...

  6. C# Unity游戏开发——Excel中的数据是如何到游戏中的 (二)

    本帖是延续的:C# Unity游戏开发——Excel中的数据是如何到游戏中的 (一) 上个帖子主要是讲了如何读取Excel,本帖主要是讲述读取的Excel数据是如何序列化成二进制的,考虑到现在在手游中 ...

  7. C# Unity游戏开发——Excel中的数据是如何到游戏中的 (三)

    本帖是延续的:C# Unity游戏开发——Excel中的数据是如何到游戏中的 (二) 前几天有点事情所以没有继续更新,今天我们接着说.上个帖子中我们看到已经把Excel数据生成了.bin的文件,不过其 ...

  8. C# Unity游戏开发——Excel中的数据是如何到游戏中的 (四)2018.4.3更新

    本帖是延续的:C# Unity游戏开发--Excel中的数据是如何到游戏中的 (三) 最近项目不算太忙,终于有时间更新博客了.关于数据处理这个主题前面的(一)(二)(三)基本上算是一个完整的静态数据处 ...

  9. 2017年Unity游戏开发视频教程(入门到精通)

    本文是我发布的一个Unity游戏开发的学习目录,以后我会持续发布一系列的游戏开发教程,都会更新在这个页面上,适合人群有下面的几种: 想要做独立游戏的人 想要找游戏开发相关工作的人 对游戏开发感兴趣的人 ...

随机推荐

  1. Daemontools和Supervisor管理linux常驻进程

    linux主要使用supervise来管理常驻进程.基于supervise的两个比较重要的工具是Daemontools和Supervisor. 实际上,supervise也算Daemontools的一 ...

  2. [Windows Azure] Managing SQL Database using SQL Server Management Studio

    Managing Windows Azure SQL Database using SQL Server Management Studio You can use Windows Azure SQL ...

  3. 每日英语:Got a Case of the Mondays? Blame the Sunday Blues

    Welcome to Monday morning at the office. Did you have trouble sleeping last night? Was your stomach ...

  4. 【运维】Java开发人员掌握的Linux命令

    作为Java开发人员,要掌握常用的Linux命令. 为什么要写此文,笔者的Linux很厉害?NoNoNo,正因为笔者不熟悉Linux才写此文,以作整理. 最主要的命令 查询命令的简要用法,help 当 ...

  5. Android 支付宝接口调用

    在近期,公司需要开发一个关于在线支付的模块,所以需要用到第三方支付平台 转载请注明出处:http://blog.csdn.net/ht_android/article/details/45307165 ...

  6. 【Java】IO Stream详细解读

    成鹏致远 | 2013年12月31日 什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流 ...

  7. 对dump的文件进行状态统计

    1.jps -lvm  查出pid 2.jstack  pid >1.dump 3.grep java.lang.Thread.State 1.dump| awk '{print $2$3$4$ ...

  8. Python3.5 执行发邮件脚本失败【惑】==>【搞定】

    Python发邮件的代码如下: 只需要填写好加粗字体,即可正常使用. from exchangelib import DELEGATE, Account, Credentials, Message, ...

  9. vm12序列号

    VMware tools怎么删除rpm -e open-vm-tools-desktop vm12序列号5A02H-AU243-TZJ49-GTC7K-3C61NVF5XA-FNDDJ-085GZ-4 ...

  10. maven 使用记录之修改 maven默认jdk版本

    maven package执行的时候会遇到jdk版本不对的问题 :原因是 maven所指定的jdk版本与项目使用的jdk版本不一致 1.项目属性的 java compiler可以设置 2.直接修改 m ...