hareqj   ♂  喵他  
 编程让人生更优雅

Godot3D简单FPS射击游戏入门2--人物移动

作者:多能豆
3D  单机游戏  第三人称RPG 
在3D世界中,移动节点的方法多种多样,而KinematicBody拥有一个强大的方法:
move_and_slide()
为什么说它强大呢?因为光参数,它就可以传入6个


但幸好,其中只有第一个参数必须填写,其它的都有默认值


话不多说,直接看代码:


(不用在意那些注释)
绿色:定义一个变量“速度”
!一下代码均被_process()包括,每帧都会执行!
红色:首先,声明一个三维向量用于储存玩家输入(每帧都会重置)
(这里之所以用三维向量,是因为方便后期演示)
然后,判断玩家输入的方向,再传入数据
最后,将这个向量转化为单位向量(为了防止速度不均和运动延迟问题)
紫色:将向量乘速度后传入move_and_slide()


其实如果你了解2D移动的话,这段代码基本上就没有问题,我主要强调一下:
还记得2D移动中最关键的那一步不?要乘以帧时间!!
而move_and_slide()官方已经预定义好了,不需要乘帧时间!!!!
除此之外,就没什么了(至于move_and_slide()的其他参数暂时不需要了解)
赶快去写下来试试吧。(这节只是预热,下节你就明白学校为啥要教你“使你痛不欲生的线性代数了”ヽ(`Д´)ノ)

[举报]  赞↑ [0 踩↓ [0
暂无评论
[声明]

初衷和宗旨:共同努力,推动Godot游戏引擎在国内的普及和发展.
1.本站所有内容皆为用户发布,如有涉嫌侵权请联系hareqj#163.com,告知内容右上角所在编号以及侵权证据.
2.禁止发布色情/暴恐/时政/商广/带网址或二维码水印/涉嫌隐私或未经授权的私人图片.
3.举报和投稿:hareqj#163.com

Godot中文社区QQ群
Copyright Godot中文社区 Godott.com All Rights Reserved.
京ICP备13032831号