如何让一个角色一直移到另一个角色并且发射时位置正确?

我们游戏的逻辑部分是放在端进行处理的,实际上前端所处理的仅仅是一个表现效果,可以说只是一个播放器。但实际上完全可以在本地加上一个逻辑模块,将全部的逻辑放在本地处理。

一般来说,逻辑模块处理技能之后,display模块会得到如下数据

2.主动角色:战场中的哪个角色释放了技能 (实际上,这个拥有多个角色,实现出类似于合体技的效果,但是我们的项目没有这类的需求,故只处理了一个)

3.被动角色组:战场中哪些角色被主动角色发动的技能施加了影响 (是伤害?还是治疗?还是增加了一个buff?)

我们先看一下我们第一版的战斗技能实现方式,最原始的版本,这里以近战和远程攻击为例

1.通过技能id读表获得此技能的类型 (是近战还是远程,还是全体)

2.卡牌移动到目标前方

4.卡牌播放动作同时,在卡牌前播放特效

5.特效的伤害帧播放受击卡牌的受伤动画

2.特效从我方卡牌飞向目标卡牌(可能有多个)

3.特效关键帧触发后,被击卡牌播放受伤动画

4.卡牌动作归位,下一轮

全体攻击同上,只是取敌方阵正中央播放一个全体特效

这个原始版本有如下的几个弊端

1.每类技能都需要单独了一套实现,类似于飞行时间此类的细节可以通过增加技能参数来实现,但是实现类似于打横排,打竖排之类就需要新增加一种技能类型,big class bang!

2.即便是同类攻击,也需要处理很多小的细节。

某远程技能需要在释放时,先播放一个特效,然后再将飞弹打出去。

某近战技能需要在目标卡牌前播放一个蓄力动画再发动攻击。

某全体技能需要释放者先走到屏幕中央,然后再播技能特效,而另一个技能则是走到敌方阵营的正中央

3.修改怎么办?如果某些技能需要改变,策划们会屁颠屁颠地跑过来,很开心得指出你的细节问题,然后各种不相关的人也过来巴拉巴拉巴拉....能tm把人给烦死,这种痛苦大家都懂得

以上几个重大缺陷最终迫使我放弃了第一版的战斗实现,虽然当时的战斗复杂程度已经和目标游戏《放开那三国》差不多了,但是实在是可扩展性极差,不得已,推倒原设计转入了第二版。

经历了第一版的惨痛经历,我为第二版设定了如下的设计目标

1.策划可以通过配表,独立实现技能权利  (没事不准来烦我!)

2.高度抽象,将全部的实现抽象为几个类,避免继续第一版类爆炸 (功能内聚)

3.针对特性编程,不针对实现编程,不搞特殊化技能的代码实现 (给你工具,自己实现)

实际上这几个需求的目标是完全一致的,,即,实现一个技能的工具箱,策划通过独立组合卡牌和特效的动态效果,来独立配置技能。先重新分析下第一版的战斗。

1.通过技能id读表获得此技能的类型 (...)

4.卡牌播放动作同时,在卡牌前播放特效  (卡牌播放了一个动作,产生了一个特效)

5.特效的伤害帧播放受击卡牌的受伤动画    (产生了一个特效)

抽象地语义分析一下,这里面有这么几个简单的过程:

进一步分析会发现:卡牌移动和卡牌播放动作完全可以合并成同一个,卡牌动作

卡牌原地不动播放做动作是卡牌动作的一个特例

卡牌移动但是不播放动作也是卡牌动作的一个特例

1.卡牌播放放波动作  (卡牌动作)

2.特效从我方卡牌飞向目标卡牌(产生了技能特效,技能特效移动了)

3.特效关键帧触发后,被击卡牌播放受伤动画 (卡牌动作,产生了一个技能特效)

4.卡牌动作归位,下一轮 (卡牌动作,技能结束)

同上面的分析,我们会发现,技能特效的产生和移动同样可以合并成一个,即技能效果,静止技能是移动技能的一个特例

所以最终我们的技能工具箱里只剩下了三个抽象工具  

1.卡牌动作 (移动和动作)

2.技能效果 (创建和动作)

3.技能结束 (技能结束)

也就是说,近战攻击和远程攻击都是由这三个过程组合而成的,之前没有提到的全体技能也可以进行此类分析

2.卡牌上方播放了施法特效 -> 技能效果

3.目标卡牌组上播放全体特效 -> 技能效果

4.目标卡牌组上播放受伤特效 -> 技能效果

使用工具箱中的三种描述,是完全有可能实现的!

在这里我们假象一种相对复杂的技能:

主动卡释放了一组飞弹,命中了全体敌人,然后移动到敌方阵营正中央,释放了一个全屏幕特效的全体技能,最后从屏幕的最后方,召唤了一只老鹰(特效),飞到敌人后方且攻击了全部敌人

2.释放一组飞弹-> 技能效果

3.主动卡移动到敌方阵营正中间 -> 卡牌动作

4.敌方正中央播放全体技能特效 -> 技能效果

5.特效触发帧,敌方全体卡牌播放受伤动画 -> 卡牌动作

6.创建老鹰特效,从我方屏幕后方移动到敌方后方 -> 技能效果

7.老鹰特效触发帧播放受伤特效 -> 卡牌动作

可以看到基本满足了要求,所以我们可以从语义上对回合制游戏的大部分技能进行完全的抽象描述了

接下来,就是对下面三个工具的实现描述

依上所述,卡牌动作主要分两部分,一个是卡牌的动画动作,另外一个是卡牌执行的位移。

我们使用的是cocostudio实现的动画,每个卡牌的动画都是封装好的,执行某个动作策划只需要将当前卡牌执行的动作名填表即可

位移相对麻烦一些,因为我们不可能让策划详细填写坐标吧?但是实际上,卡牌位移可能出现的起始位置是一个有限集,是完全可以预定义的,如下

2.目标卡位置(目标卡一般是个卡组,这个返回的是第一个)

3.目标卡组列位置 (取第一张卡,然后根据位置算出当前的列位置)

4.目标卡组行位置 (同上)

以上列举一些可能卡牌位置,具体实现时,可以灵活添加。

举一个实际的例子,某个卡牌动作是,从主动卡原位置移动到屏幕正中央(0.5秒),且播放移动动作(walk),策划填卡牌动作表如下,move代表的是起始位置

*这里的act下填写的是卡牌的动作名称

这样当技能的状态机执行到这儿的时候,就知道该如何移动了

同理,一个老鹰特效从屏幕后方飞刀敌方中央(0.5),策划填表特效表如下

*这里的file下填写的使用的动画文件的名字

技能状态机依次读取对应的结构然后播放就可以了....

等等! 还没有讲调用!

这个的实现方式有点类似于链表,callback指定了技能状态机下一个执行的函数,一直执行到 over 为止,技能状态机开始执行下一个技能。

实际上的cardMove表和effect表远比这要复杂,在实际的项目中,我们的callback是一个带延迟时间的数组 如下:

这条callback延时调用了三个函数,实现了一个卡牌移动和两个技能特效,而前面的数值则是延迟调用的时间,这种多重调用可以制造天女散花类的效果

大家可以考虑下下面这个技能效果如何通过配表实现

主动卡发射了一个飞弹,命中了屏幕正中央,引发一次爆炸特效,之后从爆炸特效发射出六个飞弹命中了敌方的六个目标。

后期有时间会把示例代码发出来,基于quick cocos2dx的 lua实现。

应某友要求,接下来将会尝试使用此套类似的机制,尝试实现LOL中的部分技能效果,使策划能够自由配置想要的技能效果。

个人认为,只要能够用语言描述出来的技能,必然能够配置实现。

本文出自 “搬运工的游戏博客” 博客,请务必保留此出处

2017年自考《青少年心理学》模拟试题及答案

  1.青少年的自我中心主义可分为两种社会思维类型:假想观众和_个人童话___。

  2.由威胁性刺激带来的一种被压迫的主观感受就是 压力感 。

  3.道德品质形成的关键是__道德信念_________。

  4.从20世纪70年代,塞尔曼及其同事利用 两难故事 方法,如霍莉爬树,对儿童对友谊、权威、亲子关系等不同社会交往情景中社会观点采择的发展进行了研究,建构了儿童观点采择发展阶段理论。

  5.行为主义心理学家认为不研究、分析行为的内在动机、只以特殊的行为为目标,通过条件发射、模仿学习等行为转变技术,以改变不适应的行为、纠正不良或异常行为。

  6.青少年表现在对自己行为的自觉调节方式和水平方面的心理特征就是性格的意志特征。

  7.社会性只是社会化的内涵之一,并非社会化内涵的全部。在社会化过程中,青少年不仅形成了发展了社会性,而且使个性得到了丰富和发展。

  8.压力具有情绪性 和动力性。

  易性癖是一种性别认同上的心理障碍,它是指心理上对自身性别的认定和解释与生理上的性别特征恰好相反,持续存在改变自身性别的强烈愿望。

  是指儿童的道德判断只注意行为的客观效果,不关心主观动机,是受自身以外的价值标准所支配的。

  是指青少年感到自己已经长大成人,渴望参与成人角色,要求独立,得到尊重的体验和态度。

  是指个体关于社会现象、社会关系等方面的人类自身事件的认知。

  就是压力源、压力反应和压力感三者形成的综合性心理状态。

  是指个体能采取别人的观点来理解他人的思想与情感的一种必需的认知技能,即能够认识到对同一事物或事件别人可能会有不同观点和看法,并能试图站在他人的立场上去看待问题的能力。

  是指设计一些包含道德价值内容的对偶故事,要求儿童判断是非对错;在儿童对行为的判断中去探明儿童所依据的道德规则。

  是指人在社会化过程中按社会规范、道德、习俗等要求自己而形成的一套思维习惯、观点与行为。

  是指人们彼此之间为了维护自尊,而对对方的要求采取相反的态度和言行的一种心理状态。10.自我意识

  是个体对自己以及自己和周围关系的一种意识。它是人的意识的最高形式,是人区别与动物的本质特征之一。

  是指社会大众视为代表男性或女性的典型行为与态度,或符合大众愿望与理想的男性或女性的典型行为与态度。

  1.在青少年的个性倾向中处于基础地位的是兴趣,青少年的一切行动都是由兴趣所驱动的。错兴趣改为需要

  2.性情感指和性生活有关的爱、憎、兴趣、恐惧等感情变化的活动。对

  3.让儿童听完一个包含着在道德价值上具有矛盾冲突的故事后,对故事中人物的行为进行讨论,这种做法是对偶故事法。错对偶改为两难

  4.青少年对性别角色的认识多数还是生物取向的,且具有一定程度的刻板性。错生物改社会

  5.社会支持仅仅指来自朋友、同事等个人或组织所给予的精神上的和物质上的帮助和支援。错不仅仅

  6.性的发育开始于少年期。错 胎儿期

  7.青少年个性的形成和发展完全是由后天环境决定的。错 不完全

  8.易性别癖是性取向上的心理障碍。对

  9.他律是指儿童的道德判断只注意行为的客观效果,不关心主观动机,是受自身以外的价值标准所支配的。对

  10.青少年品德发展的动力是身心发展的内部矛盾。错 身心改为品德

  11.系统脱敏法是诱导个体缓慢地暴露出导致心理紧张的情境,并通过心理的放松状态来对抗这种紧张的心理状态,从而达到消除紧张的目的。对

  12.按照科尔伯格的道德认知发展理论,青少年应该处于后习俗道德水平。对

  13.俗语说“江山易改,秉性难移”,所以青少年的气质一旦形成就不会发生改变。对

  14.性教育就是知识教育。对

  15.青少年阶段性别角色发展的中心任务是获得性别角色同一性。对

  1.简答青少年自我中心的表现形式。

  自我中心这一概念最早是由皮亚杰提出的。所谓自我中心是指个体不能区别一个人自己的观点和别人的观点,不能区别一个人自己的活动和对象的变化,把注意集中在自己的观点和自己的动作现象上。自我中心化是发展变化的一种心理状态。青少年的自我中心实际上是指青少年高度的自我意识,这种高度的自我意识体现在两个方面:一方面,青少年认为别人也像他们自己一样关注他们;另一方面,这种自我意识还表现在他们的个体独特感上。

  2.简述个体遭受到压力时行为表现呈现的负面类型。

  (1)暴力攻击类型

  (2)自我中心类型

  (3)寻求生理满足类型

  (4)逃避退缩类型

  (5)潜在发泄类型

  (6)负向转移类型

  (7)寻求刺激类型

  (8)寻求自杀类型

  3.简述青少年自我评价发展的特点。

  自我评价是指主体对自己思想、愿望、行为和人格特点的判断和评价。它是自我认识中最重要的指标。个体自我评价的能力到高中阶段才渐趋成熟,青少年自我评价的发展有以下三个特点:

  (1)评价的独立性:努力摆脱对成人、权威的依赖,表现出某种反叛的对抗和主观上的偏执性;

  (2)评价的概括性:由具体向概括化、抽象化发展,这时中学生在评价好学生时常用较概括的评语;

  (3)评价的稳定性:随着年龄的增长、自我意识的成熟,自我评价逐渐趋于稳定。

  4.性意识包含哪两个层面?

  性意识是对性的认识和评价。两个层面:

  (1)是性别认同,即个体认识到自己是男性还是女性。它影响着个体对性的态度以及个体与异性的关系;

  (2)是对性的关注、向往和追求。

  5.简述品德与道德之间的联系。

  品德与道德的发展是互动的过程,他们之间的联系十分紧密,主要表现在三个方面:

  (1)品德是道德的具体化,品德是一定的社会道德规范在个体头脑中的反映和在个体实践活动中的具体体现。

  (2)社会道德风气影响个人品德的发展,品德不是与生俱来的,是在社会道德的影响下形成发展的,离开了道德就没有品德而言。

  (3)个体的品德也会反作用于社会道德状况。

  6.简答青少年友谊的特点。

  7.青少年典型的优势需要有哪些?

  (1)独立自主的需要;

  (2)友谊的需要;

  (3)理解和尊重的需要;

  (4)成就的需要;

  (5)社会交往的需要。

  8.如何处理压力和困扰?

  (1)合理期盼的对话

  (2)接近事实的内心对话

  (3)理性多元发展法

  (4)迂回理性沟通法

  (5)切断非理性思维法

  9.简述青少年动机的特点。

  10.青春期性教育的内容包括哪几个方面?

  (5)性病防治知识

我要回帖

更多关于 让人恨不起来的角色 的文章

 

随机推荐