google-code-export / colonist

Automatically exported from code.google.com/p/colonist
0 stars 1 forks source link

设计连招系统 #6

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
学习武士2, 设计一套连续打击的系统

这套系统由不同的手势组合, 目前支持的手势:

1. 点击(Tap)
2. 划直线(SLICE)
3. 划曲线(CURVE SLICE)

目前想到的第一个设计:

Tap + Tap + Tap + Slice = 刺穿敌人

欢迎大家加入自己的想象!!

Original issue reported on code.google.com by yinyuanq...@gmail.com on 5 Dec 2012 at 4:19

GoogleCodeExporter commented 9 years ago
组合2:
Slice + Tap + Curve : 远距离跳到敌人面前,砍一下,然后腰斩.

Original comment by yinyuanq...@gmail.com on 5 Dec 2012 at 6:22

GoogleCodeExporter commented 9 years ago
最基础的组合 : 4个tap

tap + tap + tap + tap 

最后一个TAP触发一个双爪前刺的攻击,把敌人往后推N个单位.

这个动作可以作为第一关的教程,做为让玩家上手用.

Original comment by yinyuanq...@gmail.com on 7 Dec 2012 at 5:45

GoogleCodeExporter commented 9 years ago
需要改AttackController, 
现在的结构是:
 接受 GestureInformation -> 查找对应的动画 -> Play Animation -> 发送HitMessage

应该改成:

1. 在Prefab中预设 ComboCombat 数组 -> 
2. 接受GestureInformation ->查找对应的 ComboCombat -> 

 2.1 如果对应的Combat.FinalCombat = false : PlayAnimation -> 发送HitMessage
 2.2 如果对应的Combat.FinalCombat = true : PlayAnimation -> Ingore用户输入 -> 发送HITMESSAGE -> Resume 用户输入 . 发大招的时候,不接受用户输入,直到大招结束.

Original comment by yinyuanq...@gmail.com on 8 Dec 2012 at 3:08

GoogleCodeExporter commented 9 years ago
现在觉得,似乎连Curve也没有存在的必要了... 
因为,如果连招只有4个操作组成,4个操作却有3个手势的话,太��
�杂了. 

Original comment by yinyuanq...@gmail.com on 9 Dec 2012 at 1:52

GoogleCodeExporter commented 9 years ago
连招系统 v1.0 , 测试 APK 见附件, 测试APK中只设计了 Tap * 
5的手势.

程序流程是:
1. 使用 Combat 封装用户手势和对应的动画, 然后 用ComboCombat 
类封装(最多)5个Combat.

2. 
设计者在Inspector预定义每个ComboCombat中的Combat的手势类型和动
画.

2. 
当玩家触发手势的时候,搜索有没有符合手势历史组合的ComboCo
mbat,如果有,返回最后一个Combat对象. 如果没有, 
返回对应手势的默认Combat,并且删除手势操作历史记录.

接下来的工作:
设计自动清除手势历史的机制. 
例如,  已经点了4 下 , 过了30秒再点第5下, 
明显应该清除历史连招,算从头开始.

Original comment by yinyuanq...@gmail.com on 13 Dec 2012 at 7:51

GoogleCodeExporter commented 9 years ago
APK 删除了,放在GDrive上比较安全...

Original comment by yinyuanq...@gmail.com on 13 Dec 2012 at 7:53

GoogleCodeExporter commented 9 years ago
连招系统框架已经搭好,现在的COMBO COMBAT逻辑是:

1. 玩家操作Gesture, 触发NewUserGesture() 
2. NewUserGesture()调用 
   CombatHintHUD.SendMessage("NewHint", gestureInfo.Type);
让手势操作立刻显示在屏幕上
这样做的目的是为了让玩家能第一时间看到操作提示HUD
3. 通过PlayerComboToken 查找对应的COMBO 
COMBAT(如果没有则返回默认COMBAT), PUSH到UnprocessCombatList.
4. RepeatCheckCombatList() 每 COOLDOWN=0.2 秒处理一个  
UnprocessCombatList 元素.

Original comment by yinyuanq...@gmail.com on 14 Dec 2012 at 11:37

GoogleCodeExporter commented 9 years ago
mark issue status as done

Original comment by yinyuanq...@gmail.com on 23 Dec 2012 at 9:21