[方法分享]轨迹测试
gamemaker吧
全部回复
仅看楼主
吧务
level 13
q糖豆p 楼主
这个方法用在弹幕设计,以及观察一些物体的运动轨迹是否满足预期时使用。
比如,贴吧里最近有几款平台跳跃游戏,在“落地”时存在“气垫”感。推测是落地代码存在一些问题,也就是,第N步距离地面还有10,但此时下落速度已有20的时候,第N+1步并不会落在地面上,而是从距离地面10的位置重新做落体运动。这种情况可以在轨迹测试中清晰显示。
轨迹测试的实现方法其实很简单。在房间中取消所有背景,包括基础背景色,即Draw background color的勾要取消。这样设置时,即可显示出物体轨迹。
当然了,全屏幕都是轨迹时会引起屏幕太乱,你还需要一行指令来“清除”屏幕:
draw_clear(col) 使用给定的颜色清除全部房间(非透明混合)。
颜色col,咱平时使用$000000(和c_black一样代表黑色),各位如果熟悉颜色号写法的也可以这样写颜色,只是需要GM的颜色顺序是蓝绿红,而不是像HTML那样红绿蓝(RGB)。
好像这次写的杂乱点,算了,懒得排版了。下面附一个复刻的阿波罗13轨迹分析结果。果然安定点什么的根本不现实。
2015年03月01日 05点03分 1
吧务
level 12
用Draw background color方法画面有点乱。
其实让子弹每10帧(或者小一些)记录次坐标。并在这些点绘制圆点是不是好一些。
2015年03月01日 10点03分 2
反正咱的机器测试60FPS绘制3000个点的时候已经有点卡了,这960发记录4次就会超规格绘制困难……
2015年03月01日 13点03分
不要记录吧,就直接挂在表面上,一直都不卡
2015年03月01日 16点03分
回复
��ʦ���౦��
:是个好方法。
2015年03月02日 05点03分
level 11
蛮实用的用法,谢谢分享!
2015年03月01日 10点03分 3
活捉!
2015年03月01日 14点03分
level 11
为什么不让子弹定期绘制自己到surface上,并且在适当的条件下清除surface?
2015年03月01日 16点03分 4
因为还要用surface功能,而这样什么额外设置都没有。
2015年03月02日 02点03分
@q糖豆p 其实游戏画面本身就是在一个表面上绘制的,在每一帧里用背景色清除。如果没有背景和背景色的话,就不会清除,每一帧的图象就一直留在那里…用surface的好处是可以测试指定的运动物体,并且可以规定锚点的密度
2015年03月02日 12点03分
level 11
噗,刚刚我做BOSS的子弹的时候游戏蹦了,是因为这个原因吗?【运行时直接未响应】
2015年03月06日 16点03分 5
猜不到呢。不过应该不是,因为这个方法并不改变弹幕运行本质,只是更改显示方式。
2015年03月07日 03点03分
回复
q�Ƕ�p
:唉,实验炸弹的威力时,又未响应了...
2015年03月07日 04点03分
level 8
有意思的方法,
刚才试了一下,半天没试出来,原来是因为添加了视角
2015年03月06日 16点03分 6
level 8
[大拇指]
2015年12月02日 06点12分 7
1