Gamemaker里怎么样把主角的移动设置平滑一点,就像cs那种,稍微有个缓冲的

2025-03-21 08:40:49
推荐回答(2个)
回答1:

也就是说不想让物体突然开始动或者突然停下是吧…… 希望我理解的没错。

这里放英文或代码貌似会被抽…… 大致说下思路吧,你应该了解物体的移动是和速度相关的。所以想要平滑移动就要从速度上入手。

就像开车有个加速减速一样,你可以设置一个变量来影响物体的速度。就以开车(或者说开始跑)为例。设置三个值,一个是速度(开始时为0)、一个是加速度(或者理解为每帧加速的值,比如为1)、一个是最大速度(比如是10)。
那么好,当你按下方向键(或行走按键)的时候,有三件事要做:
第一件,每帧使速度+加速度,这样就会让速度值越来越大。
第二件,每帧检查速度值,让它大于最大速度(10)的时候等于10,小于0的时候等于0,这样就会使你的速度不会太快也不会变成负数。
第三件:根据你的速度值移动物体(怎么移动随意,最基本地加减坐标就好)

ok,这样子的话,物体在你按下方向键之后就会越来越快,第一帧的时候速度1、第二帧是2、第三帧是3,一直加到10达到最快速度之后就以这个最大速度继续移动下去。由于这个过程极短,根据你的具体设置,有可能是半秒,也有可能是一秒(或更长,看你的具体数值),总之会在短时间内完成一个加速过程,这样就会使移动不会那么生硬。

停止的时候也一样,设置一个减速度,松开按键时让速度下滑到0,道理一样。
如果你对三角函数或类似东西了解的够多的话,可以用函数来进一步影响加速度,这样就会有更细致的变化。大体就是如此。

以上思路不仅是gamemaker,任何软件都可以用这种方式来思考。当然,以后你可能会找出更好更自然的方法来解决问题,这是后话。

再有就是我多嘴。任何在游戏里面想要达成的效果(不是指画面效果)都可以通过观察现实生活中的事物来得到思路。(就跟我开始时说的“开车有个加速减速”一样)

回答2:

菜鸟是做不了细节的,你还是打基础去吧。详细讲更没必要了。