第二个2D游戏日记【停更】

2016/5/15

也记不清今天都写了些什么代码了。

只记得上午给角色加了物理材质,又修改了碰撞器为圆形,效果很好。

但下午和晚上又因为wheel怪的碰撞检测而苦恼万分。

最后把碰撞器改成了polygon然后用time.time检测时间间隔来判断是否使角色受伤。但这样写也不是很好。我想,应该由角色本身来设置受伤间隔才对。

得到的经验是,能用物理引擎解决的问题,不要写代码控制。比如,我的人物踩到怪物身上是要向上弹一下的,本来加一个物理材质就可以了。但我用脚本去强加了一个弹力,非常的不自然。

2016/5/16

Debug:

1.修正角色在默认状态下死亡后重生ISDEAD不改变 √

2.角色重生没有闪烁效果√

3.轮子怪启动攻击太频繁,导致丢分太快

4.其他怪物在没有面向角色的时候触碰角色不会使角色受伤(又仔细研读了2dplatformer的代码,发现它的frontcheck只用于检测墙壁,而不负责主角),应该有Player本身来判断是否接受攻击,这样一次就只会接受一种攻击。√

5.可能会出现同时攻击了怪物的同时因为没有往上跳起而出现受伤√->通过改变角色物体材质弹性解决

6.玩家在踩轮子的静止状态的时候也受到了攻击


2016/5/21

今天读了游戏设计模式的导读部分,然后下了几个马里奥游戏克隆的开源代码。然后惊讶地发现他们的共同点是游戏逻辑部分没有用抽象…就是很普通的一个类似面板结构,星星功能写个控制程序,玩家写个控制程序。啊啊。连MVC都没有。

而我的却很认真的来了一套MVC。

你可能感兴趣的:(第二个2D游戏日记【停更】)