• 关于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.动画脚本一般挂在目标节点的子节点下面,方便想修改动画的时候就修改动画,也有直接挂在目标节点下面的。

  • 相关阅读:
    myfocus官方网站已经挂掉,相关下载已经从googlecode转到网盘
    [综合]visio2013安装提示找不到Office.zh_cnofficeMUI.mis officemui.xml
    技巧分享:解决Word 2010当中“分页符”造成的空白行
    房贷计算器代码2.0
    房贷计算器代码
    图解-JS普通函数跟箭头函数中this的指向问题
    完全基于net core容器的超级轻量化的Quartz,支持类似net core mvc的过滤器,附过滤器实现源码
    net下的高性能轻量化半自动orm+linq的《SqlBatis》
    轻量级ORM《sqlcommon》第一个版本发布了!!!
    从0开始编写dapper核心功能、压榨性能、自己动手丰衣足食
  • 原文地址:https://www.cnblogs.com/HangZhe/p/7199771.html
Copyright © 2020-2023  润新知