以下皆为记录所用
现在根据官方教程,我已经实现了一个小东西可以上下跳动
了解了Sprite挂载脚本,以及编辑脚本,还有动画的一些入门东西
还了解了如何设置监听键盘按下的输入,这个是没问题的
问题一
如何开启游戏就是如何使我们的玩家控制的Sprite动起来
this.onStartGame();
在onLoad函数中调用onStartGame 即可,onStartGame会有使玩家控制的Sprite动起来的逻辑
但是现在遇到了个问题
Player 组件的update函数并不会调用,但是Game组件节点的update函数是会调用刷新的,这里是需要解决的一个问题
已解决!原因是enable被开启为false了,我先在game调用了 startMoveto函数,吧enable置为 true 但是 加载Player 节点后,调用了Player的onLoad函数,此时enable又变为了false
导致整个组件没有调用update函数
子组件调用父组件函数失败,提示function undefined
原因是父组件函数名和自身某个数据重名
导致调用失败,(js这都不会提示吗!!)
现在基本实现的有
背景音乐以及音效控制
界面的一些修改与构建(最基本)
npc的碰撞逻辑检测
控制人物左右行动,这个只是个暂时的,后期需要优化为空格键跳跃一下,然后左右只走一步
组件之间的树形结构
Sprite的properties属性与cocosCreator资源的关系,以及需要深入理解下cocosCreator中心思想,聚焦游戏内容的开发,我感觉就是这个属性与资源之间的关系
Sprite的enable作用,就是这个Sprite的开关
Label艺术字的数据更改
---- 后面要学习的有 动画,包括NPC的动画,逐帧动画,人物的动画,npc的点击监听,比如弹出弹框
逐帧动画完成,这里需要借助于PS,这里完成了眨眼睛动画,NPC现在可以眨眼睛啦
主要是使用cocosCreator的动画编辑器
插入用PS做好的每帧的动画帧,然后属性列表加入 cc.Sprite.spriteFrame 属性,就可以拖动动画加入动画帧啦
之后将工程里资源管理的动画文件添加到 组件Sprite 的Animation节点,并点击Play on Load,就可以播放啦
-- 骨骼动画今天下载了Spine,成功把Spine的文件导出来了,挂载到了cocosCreator的节点上
-- 下一步需要学习如何将Spine 骨骼动画掌握,包括控制骨骼动画
-- 今天还大概看了下AI的编码方法,行为树,这个大概能懂了,想起自己五年前学习游戏制作的时候,那时候代码编程理解水平还不深,很多东西都无法理解,现在、
越来越觉得数据结构真的太强了!
2021年11月18日
最近的工作,实现了骨骼动画的左右移动,包括动画动作也是改变朝向的左右,实现了简易的镜头移动
实现了骨骼动画人物的前跳和后跳
实现了按键防乱按检测,利用骨骼动画的播放回调,去控制按键是否做出反应,只有在动画播放完毕之后,才可以对按键做出反应
实现了镜头跟踪,很简单,直接把camera拖到了任务节点上,后面需要优化!
实现了Sprite和Sprite的距离检测,坐标比对!
实现了Sprite或者node的显示与展示
实现了Prefab预制资源的使用
更加熟悉了cocosCreator的使用
了解了cocos中的重力系统,并且实现了修改重力,了解了刚体碰撞,以及密度摩擦力对碰撞的影响
第一次使用了cocosCreator 论坛,并且有官方人员回复我!
系统的学习了Spine pro的使用,以及从Ps到成为骨骼动画的一个流程,还在学习中
2021年12月3日
实现了逐帧动画移动控制
实现了逐帧动画在某帧添加关键帧,然后再加入碰撞体进而实现攻击检测(尚有bug,碰撞点size长宽为0 时仍然会产生碰撞回调的bug)
实现了逐帧动画的控制,回调等
对于人物移动有了新的理解,移动控制。通过定义刚体的世界线性速度进行移动的控制
对于开发中每一帧进行思考的理解,要降计算放在每一帧上
实现了简易的tiledMap地图绘制,包括tiledMap上的动画,包括结合PS实现不同切图像素下的动画
2021年12月8日
之前cocosCreator固有bug,帧内做的碰撞体,size 长宽为0时,也会产生碰撞的bug已经解决,只需要判断other.size().width是否会为0时返回即可。
做了线性运动的动画runAction
做了贝塞尔曲线实现,和实现贝塞尔曲线的动画