记录点滴,抒发感想
现在在做的事有:
1. cocos2d做一个泡泡堂
{目前 完成情况
:代码方面,做了2个类,MySprite 和 Mygame 类,一个是游戏主角,一个是游戏主场景
MySprite 类里面 已经完成了 以下功能
0 创建(通过一张贴图创建对象)
1 移动(还不是很流畅,不是特别满意,后期再改)
2 放置炸弹,炸弹有动画效果以及爆炸效果(就是生成几张贴图,还不能破坏物体等等)
Mygame 类 0 创建了瓦片地图,加了碰撞体,但是人物和瓦片的渲染效果不是特别满意
(后期可能考虑重做一张地图)
1 在主场景里添加了主角
2 加了瓦片地图和游戏屏幕的坐标转换函数(用来实现精灵的移动)
: 其他方面, 弄了张瓦片地图,游戏贴图还不是特别完善,资源还要再找找
目前有几个地方比较烦
一是 人物的移动系统做的真的不舒服,修改了很多次(难点是和游戏物体的碰撞,有些地方是不能通过的)。
刚开始我让主角随意移动,碰撞判定是用Cocos2d自带的物理引擎,给瓦片和主角加上刚体,不过好像自带的物理引擎
有问题, 发生碰撞的时候主角会莫名奇妙的位移(反弹?),网上找了很久也没找到解决方案,最后放弃。
之后我转用坐标判断,让主角每次移动一个 瓦片的大小(其实这样更容易维护和位置判定,也更合理),
然后每次移动都判断会不会移动到不能走的地方, 这样做 碰撞的难点解决了。
具体实现方法就是: 每次按wsad 的时候都记录下来,然后每0.1秒判定是否按住wsad,
如果按住,主角移动一格。但是出现的问题是按键不能及时响应(有个0.1s以内的延迟),我之所以不每一帧都判定,
因为每次判定的时候如果 wsad其中之一被按住主角就移动一格,会导致主角移动过快。
现在就是没什么好想法去实现完美的移动系统,如果有人看到又会的话,恳请教教我。
二是 C++还没学完(或者说才开始学,而且老师又比较水~~可能是我太菜),现在基本靠自学,有许多东西不明白,
例如 lambda函数,类的虚函数,子类和父类,继承什么的都只是有个大概的概念 ,不是很清楚,特别是面向对象思想,
这个比较玄学(通过做这个项目我明白一个道理,先设计再动手,不要过早优化,哎都是泪(累)啊),
导致cocos2d里面许多自带的函数不是很明白,怎莫继承的,如何调用的,怎么创建回调函数等等。。。。
目前想法:准备把新建一个Mybomb类,把bomb的那些操作移出来(现在的bomb函数简直就是一坨屎,代码巨长无比,而且还不断代码重复,回调函数里套回调函数)
并且实现爆炸破坏物体,伤害主角等操作。当然后序就是做出道具类,破坏物体随机爆道具,这个以后再说。
}
2 看学长源码(其实还没开始)
学长推荐了当年大佬大项目的源码,在gitube上(还不会用呢),准备参考学习学习
3 读c++premier
哎,这本书巨厚无比,而且好多东西看不懂,重点是看懂了还不知道怎么用,为什么用,什么时候该用(哎,缺乏实践),
不过还是要努力往后面看,不要求会用,但至少要知道是个什么东西
努力吧,骚年。。。。
对了,安利一下在寒假做的小东西,用unity做的,一个黑白棋游戏
先给个链接吧,下次再具体来说
链接:https://pan.baidu.com/s/1mM4JcmVVchGq-tVxPloFSA 密码:rxrm
今天就写这么多,当作记录吧,倒一下苦水也不错,哈哈,反正没人看~~
2018 3 / 20 / 20:58