上回说到,游戏项目中客观会遇到逻辑状态的复杂性和动画状态的单一性之间的矛盾,那么Animation Tree是如何解决这个问题的呢? 这又需要引入一个定律:就是逻辑状态无论有多么复杂,但一套逻辑状态组合一定唯一对应一个具体的动画. 举例来说:已知控制当前游戏对象的逻辑状态有是否技能中.是否受击.是否中毒.是否眩晕. 那么我们可以建立一个下面的关系: 技能中 否 是 否 否 否 否 是 受击 否 否 是 否 否 否 是 中毒 否 否 否 是 否 是 是 眩晕 否 否 否 否 是 是 否 最终动作…
最近的业务上,又回到Animation Tree这块了. 众所周知的是Animation Tree这些概念已经提出很久了,但是使用有着AT支持的CE引擎的项目,却依然义无反顾地没有使用AT,而且,连某些引擎支持人员居然也没搞明白这是个什么东西,前因后果如何,也不去推行这个前期一旦定好后期一劳永逸的事情. 吭哧百度做了一年多,在游戏的上层几乎重新把AT做的事情做了一遍,用一种最糟糕的方式——拿状态机来做状态,谁说角色的状态就一定要状态机做的?那都是上世纪90年代和本世纪最早4.5年的游戏教材才会这…
昨天刚参加完一个面试,通过了.写个随笔记录一下. 先介绍一下背景. 我是今年十月份的时候从某个培训机构的HTML5 Web前端培训班毕业的,是一个刚进入IT行业的新人. 本人毕业于某三流学校,在参加培训班之前,我已在校自学了很长一段时间的相关技术,主要是自己买书学习,然后就是逛逛技术博客啥的.因学历背景不够硬,再加上对自己的技术能力不够自信,便在某培训机构的美女小姐姐的强力推荐下报了个HTML5 Web前端开发培训班,两万大洋啊!心疼! 培训班将学习内容共分了三个阶段,换了三个老师,每个阶段一个…
接触Groovy也快一年了,一直在尝试怎么将Groovy引用到日常工作中来.最近在做一个功能的时候,花了点时间重新看了下Java怎么调用Groovy的方法.传递参数和获取返回值. 示例Groovy代码如下: # TestGroovy.groovy 定义testC方法,传入3个参数,返回处理后的数据 def testC(int numA, int numB, int numC) { "传入参数:" + numA + numB + numC + "计算之和为:" + (…
web网站的典型代码框架就是MVC架构,Model层负责数据获取,Controller层负责逻辑控制,View层则负责展示. 一般数据获取是去mysql中获取数据 但是这里有个问题,我们不会每次请求都去mysql中获取,当并发量大的时候,我们希望mysql前面有层缓存做着. 这层缓存可能是redis,memcache,File等,但是这个逻辑代码是放在Controller中好还是Model中好呢? 放在Controller中: 好处:可以单个Controller进行控制,每个controller…
xshell4默认支持中文语言 选项→键盘和鼠标:设置快捷键,鼠标按键(可以提高工作效率) 1.选定文本自动复制到剪贴板 选择→将选定的文本自动复制到剪贴板(选上) 2.更高鼠标中间按钮和右键按钮的功能 鼠标(根据自己的习惯选择) 本地shell→文件→属性:修改默认会话属性 1.修改远程主机的编码 终端→编码(根据自己的需要选择) 2.修改小写键盘的工作模式(默认设置在vim中使用会有问题) 终端→VT模式→初始数字键盘模式(DECNKM):设置为普通 配色方案: [Names] count=…
背景: 最近在写一个小程序,发现博主所在的地区访问该网站时有防ddos功能验证导致程序不能正常工作. 经过试验发现可以用国外代理ip解决这个问题,但是程序走代理访问延迟高且不稳定. 思路: selenium启动浏览器 => 手动通过网站ddos验证 => 程序操控其他业务请求 问题: 1.selenium 不支持 post 请求方式 2.selenium 不支持自定义 request header 环境: selenium:3.8.1 JDK:1.8 firefox:45.9.0esr   …
因为工作原因,接触到了一套非常好的前端框架--ember. ember框架高度封装,学习曲线比较陡峭. ember对于url更新的配置在config/environment.js >> locationType上. locationType有4种模式: history:使用html5的history API(url中没有#号) hash:使用锚点的url方式(url中会存在/#/xxxx这种路径,会影响浏览器解析页面的锚点) auto:优先尝试history模式 none:不更新url 根据以…
1. 概述 通常,程序总是运行时才知道的根据某些条件去创建新对象.在此之前,不会知道所需对象的数量,甚至不知道确切的类型,为解决这个普遍的编程问题:需要在任意时刻和任意位置创建任意数量的对象,所以,就不能依靠创建命名的引用来持有每一个对象,因为你不知道实际上会需要多少这样的引用. 大多数语言都提供某种方法来解决这个基本问题.Java有多种方式保存对象(应该说是对象的引用).例如数组,它是编译器支持的类型.数组是保存一组对象的最有效的方式,如果你想保存一组基本类型数据,也推荐使用这种方式.但是数据…
现在工作要做一个电商项目,将工3作的笔记记在这儿,以后方便结总 本套项目用的前端方案 是: vue vue-router Element -ui Axios Echarts 后端技术采用node.js Exress.js  状态采用jwt  持久化采用mysql   数据库工具使用sequelize 安装vue脚本架 ______________________________________________________ cnpm install -g vue/cli 查看版本  vue -…