关于Unity的开发思路
我现在的思路大概是这样的,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的开发思路的更多相关文章
- Unity 消消乐开发思路
以简单的方式讲述游戏开发思路,暂时没有实践,如有错误,欢迎各位大佬指错 关卡数据保存方式 数据保存我选用json,可读性强,解析快 消消乐物体处理方式 消消乐物体我将以预制体的方式使用(把物品拖到As ...
- 【Unity游戏开发】用C#和Lua实现Unity中的事件分发机制EventDispatcher
一.简介 最近马三换了一家大公司工作,公司制度规范了一些,因此平时的业余时间多了不少.但是人却懒了下来,最近这一个月都没怎么研究新技术,博客写得也是拖拖拉拉,周六周天就躺尸在家看帖子.看小说,要么就是 ...
- 关于Unity游戏开发方向找工作方面的一些个人看法
这是个老生常谈,却又是谁绕不过去的话题,而对于每个人来说,所遇到的情况又不尽相同,别人的求职方式和路线不一定适合你,即使是背景很相似的两个人,有时候机遇也很重要. 我本人的工作经验只有一年,就业方式 ...
- halcon学习笔记——机器视觉工程应用的开发思路【转】
转自:http://www.cnblogs.com/hanzhaoxin/archive/2013/02/15/2912879.html 机器视觉工程应用主要可划分为硬件和软件两大部分. 硬件:工程应 ...
- Android常见开发思路
开发思路 刷新: 重新获取数据 清空list 更新适配器 关闭进度条. 加载更多 1. 重新获取数据 添加list 更新适配器 添加轮播条. 自己设计轮播条View 引入lib库文件 设置轮播条数据. ...
- C# Unity游戏开发——Excel中的数据是如何到游戏中的 (二)
本帖是延续的:C# Unity游戏开发——Excel中的数据是如何到游戏中的 (一) 上个帖子主要是讲了如何读取Excel,本帖主要是讲述读取的Excel数据是如何序列化成二进制的,考虑到现在在手游中 ...
- C# Unity游戏开发——Excel中的数据是如何到游戏中的 (三)
本帖是延续的:C# Unity游戏开发——Excel中的数据是如何到游戏中的 (二) 前几天有点事情所以没有继续更新,今天我们接着说.上个帖子中我们看到已经把Excel数据生成了.bin的文件,不过其 ...
- C# Unity游戏开发——Excel中的数据是如何到游戏中的 (四)2018.4.3更新
本帖是延续的:C# Unity游戏开发--Excel中的数据是如何到游戏中的 (三) 最近项目不算太忙,终于有时间更新博客了.关于数据处理这个主题前面的(一)(二)(三)基本上算是一个完整的静态数据处 ...
- 2017年Unity游戏开发视频教程(入门到精通)
本文是我发布的一个Unity游戏开发的学习目录,以后我会持续发布一系列的游戏开发教程,都会更新在这个页面上,适合人群有下面的几种: 想要做独立游戏的人 想要找游戏开发相关工作的人 对游戏开发感兴趣的人 ...
随机推荐
- css3实现画对号动画
目标:实现对号动画,慢慢画出来的感觉: 原理:外层div的背景是一个对号图片,用一个div做遮罩,让遮罩div层从左到右做运动一次即可实现动画,需要注意的是遮罩div的初始位置应该在外层div的外面: ...
- Java虚拟机(JVM)概述
JVM(Java虚拟机)是一个抽象的计算模型.就如同一台真实的机器,它有自己的指令集和执行引擎,可以在运行时操控内存区域.目的是为构建在其上运行的应用程序提供一个运行环境.JVM可以解读指令代码并与底 ...
- python-布尔值的加法运算
在python中,可以对布尔值进行加减法运算. True会被看做 1 , False会被看做 0 : a = True b = False
- angular中的表单数据自定义验证
之前说过了angular是如何给表单的数据进行基本的,常用的验证的:angular学习笔记(二十)-表单验证 但是在实际工作中,这些验证是远远不够的,很多时候我们需要自定义一些验证规则,以及一些异步, ...
- SVN四部曲之SVN设置详解深入
想知道不同的设置是干什么用的,你只需将鼠标指针在编辑框/选项框上停留一秒钟...一个帮助提示气泡就会弹出来. 常规设置 图 4.68. 设置对话框,常规设置页面 这个对话框允许你指定自己喜欢的语言,同 ...
- python(57):私有变量,代码块
转载:http://blog.csdn.net/zhu_liangwei/article/details/7667745 引子 我热情地邀请大家猜测下面这段程序的输出: class A(object) ...
- 【Delphi】SPComm注意事项
Spcomm属性设置 SPCOMM 控件的属性设置很关键的,特别是使用事件驱动时接收大数据块时尤为明显,如果设置不当,接收到的数据可能严重出错. ReadIntervalTimeout:=100 SP ...
- 【Linux技术】ubuntu常用命令
查看软件xxx安装内容:dpkg -L xxx查找软件库中的软件:apt-cache search 正则表达式查找软件库中的软件:aptitude search 软件包查找文件属于哪个包:dpkg - ...
- ubuntu 解压命令
ubuntu解压命令.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————. ...
- pual_bot 天气插件编写
最近在玩pual_bot,感觉很不错,最近天气插件失效了,就结合百度api重新写了一个,也提交了. https://github.com/coldnight/pual_bot #!/usr/bin/e ...