猫史档案馆


【教程/持续更新】创造自己的运动系统!

用户:霖雨暮风霖雨暮风查看:2 回复:5 评论:2 创建时间:2019-03-09T21:52:06


写一个教程用来教大家做一个独特的运动系统。


回复

上一页1 页 / 共 1下一页
无段双云无段双云

?????能说具体些吗?

点赞0


评论


霖雨暮风霖雨暮风

EP1 - 基本的运动体系

首先,我们给角色两个私有的变量分别叫做dx与dy(当然名字随你取)。

dx与dy分别表示这个角色在x方向与y方向上移动的速度

注意,这里是速度,并不是他的坐标。

center_imagecenter_image

 

 

然后,我们编写最基本的几个函数。

分别可以修改速度,加速度与查看速度

center_image

函数这一块,如果不会请自行查阅源码图鉴。

然后接下来。

我们要让角色运动起来。

所以我们定义一个“更新”函数。他会在被调用时让这个角色沿着两个速度的方向之和前进一次

其实就是移动一次。

center_image

这里我们让他每一帧都更新一次

(为了方便查看运动轨迹,加入一步执行内的程序)

center_image

然后,当你给他一个速度时,他应该就会开始运动了awa。你可以尝试多加一些函数,看看会有什么神奇的运动轨迹。

center_image

举个例子

然后他就会出现这一种神奇的运动。

center_image

组合一些奇奇怪怪的东西,看看玩不玩得起来awa

-END-

点赞0


评论


霖雨暮风霖雨暮风

EP2 - 方向的实现 

上面我们讲了基本的运动方式,但是我们会发现这个角色,他转都不转一下。

那么接下来,我们要让他能根据运动的速度确定一个方向

代码不难,放图:

center_image

 

 

 

 

 

 

 

当然发个代码不说话是最蠢的教程了,那么接下来我需要讲解一下三角函数基础知识。数学不好的小伙伴们可以先跳过~

在一个直角三角形内,对于一个不是直角的角∠A=α;

sin α是指这个角的对边÷斜边的比值。cos α是指这个角的邻边÷斜边的比值。tan α是指这个角的对边÷邻边的比值

center_image

而arctan指的就是输入比值,返回给你角度。

center_image

但是有一点要注意,编程猫中的arctan函数是没有大于180度的值的。

所以当dx<0时,要让他转180°。

加上这个方向函数之后,我们让角色不断面向这个角度。

center_image

那么角色就会不断朝向正确的方向了。

为什么不直接用移动( )步呢?

这个我们之后在讲横向移动的时候会说到。

center_image

 

- END -

 

点赞0


评论


人生若只如初见_人生若只如初见_

好评,好评!

 

点赞0


评论


I桔汁糖浆II桔汁糖浆I

三角函数入门基础.jpg

点赞0


评论