学习日志:功夫
yishalee
2017-08-10
功夫————这个是对打游戏,比较复杂。
- 移动。自建变量psp代表移动速度,dx代表左右按键状态,按左为-1右为1,。移动状态下用x+=psp*dx来统一实现移动。
- 出招收招。设置state,来区分状态,0移动,1出招,2收招。这个是因为出招收招不能移动。思路就是按下相应按键后:进入出招状态,调用对应的动画、碰撞判定是否击中并扣血等等,且让动画定格一段时间(计时器倒计时实现)后进入收招状态。进入收招状态接收招动画。给收招状态一个倒计时,计时结束后恢复移动状态。 都是在step里做if判断状态。 他的击打特效是作为一个obj调用的。
- 收招时如何判断刚才出的是哪一招? 用sprite_index判断。
- 像素失真问题,在官网learn教程里提到过画面模糊的原因是自动计算像素,在globle settign/graphic里。红激解释道如果官网的设置对了但还有别的奇怪问题(比如脸部某些像素位移了),那么就用draw事件里画自己的图像时(比如用draw_sprite_ext)坐标取整数。原因是没有同意取整原则,导致会有1像素的差别。
- 如何让角色在空中只能出一次腿。这个例子里是在收招状态里,给飞腿的收招状态倒计时足够长。这样他落地前不会回复到移动状态就ok了。 这个再回去看看是不是。
- 绘制血槽,实现效果:打一下就减少一格血的,而且满血为绿色此外红色。可以只做一个单位长度的血槽sprite,里面有红绿两帧,用draw_sprite_ext 来画,subimage参数填hp<6, xscale填hp或-hp。这样就能控制血条颜色和方向了。
(转发自:原日志地址)