功能列表:
1.拖动单位、放入战场
单位面向旗子
拖动时,看到红色区域,为不可放置点(远程、近战看到不同)
拖动时,看到指引路径,表明单位会走到什么位置上,攻击谁;如果是红色区域,不出现指引路径
2.拖入单位后,UI界面上其头像,要有变化:
用对号?或者头像消失、变灰;战斗中有技能时,再出现头像;变灰通常以为着死亡
3.点击开始战斗
4.自动战斗开始
AI:军旗、攻方、守方、移动、目标选择、顺序、
状态机:等待、移动、攻击、
5.技能,怒气满,可以放技能
技能按钮
6.中途再放兵进入战场
7.判定胜负
------------第一部分:已经能实现的功能点:
1.一个单位走向目标,寻路走,是可以实现的;;但是:只走格子,估计可以用ITween实现;
因为我是只按格子走的,尤其是几个项目中都是按格子走
2.选择一个单位,显示其移动范围,或者攻击范围,可以实现,但是不需要点击移动到哪里
3.可以实现选择一个单位,显示其移动范围,点击范围内(只能在范围内点)一个格子,走到格子上,这套操作,我不需要
4.行走,通常是操作的行走,比如键盘方向键控制(贪吃蛇),或者鼠标控制的(A*教程):
siki的《贪吃蛇》
----------第二部分:在demo里的需求:
1.按照格子走,有没有出现冲突的情况,因为从一个格子走到另外一个格子,是需要时间的;
这里,首先每个兵启动走的时间,相差一点点,另外一旦一个单位走向一个格子,格子就被锁定了,别人不能走了,保留塔防玩法,不能放置在格子里的,当然也不会走的太慢,让人误解
2.关于格子,一种是用node面片,如陈中的观点:
这是基于《龙翼》的设计,也是《TBTK》的思路,一是方便点选node作为目标,可以放置兵在上面,也可以移动兵(拾取和走到目标)
二是node可以赋予属性,很方便地做关卡
第二种是A*的方法,没有node面片,而是A*自己算出node节点
第三种是itween,是.node面片或者格子矩阵................获取格子的坐标,向坐标Moveto
《3d塔防》是...
关于寻路:
并没一种寻路适合所有场合,选择都是基于需求而定的。
1. A* 算法与贪婪算法不一样,贪婪算法适合动态规划,寻找局部最优解,不保证最优解。
A*是静态网格中求解最短路最有效的方法。也是耗时的算法,不宜寻路频繁的场合。一般来说适合需求精确的场合。
与启发式的搜索一样,能够根据改变网格密度、网格耗散来进行调整精确度。
使用的地方:
a. 策略游戏的策略搜索
b. 方块格子游戏中的格子寻路
2. Unity 自带的导航网格系统
Unity 内置了NavMesh导航网格系统,一般来说导航网格算法大多是“拐角点算法”。
效率是比较高的,但是不保证最优解算法。
使用的地方:
a.游戏场景的怪物寻路
b.动态规避障碍
----------第三部分:路线图
1.先实现最核心玩法:
格子:
行走:
目标:一个格子被占了,其属性isVacant,是空置的,变为true;
能耗:(下面文章)http://blog.csdn.net/maxlykos/article/details/78336712
放兵:
http://www.sikiedu.com/course/91/tasks 里面quickgesture的课,主要关注前半段的手势检测部分
http://blog.csdn.net/haohan_meng/article/details/18553397
http://blog.csdn.net/u010989951/article/details/76071719
http://blog.csdn.net/NippyLi/article/details/53435384
https://www.cnblogs.com/hewencong/p/4299722.html
...
可以再看看A星的教程和文章
http://edu.manew.com/course/44
2.简单界面:开始,暂停,结束
https://www.cnblogs.com/mrmocha/p/8040649.html
3.搞框架
关卡:放置土堆、山丘,可以用《南梦宫》的txt文本制作关卡的方法,但是向梯田、河道,都不行
4.根据核心玩法开发需要,再选择学什么课程,比如需要魔法特效,学特效,比如学siki的动画