代码来源于“易宁”大佬的分享,仅供学习,不要直接复制粘贴。

原帖链接:http://bbs.3dmgame.com/thread-3859071-1-1.html



二四四.神奇跳跃(按键盘R键主角可向前跳跃)

	用MT管理器打开游戏目录/assets/DLC0002/scripts/prefabs/player_common.lua文件,在inst:AddComponent("resurrectable")的下一行插入以下内容:

TheInput:AddKeyUpHandler(KEY_R, function()
   inst.Physics:SetCollides(false)
   inst:DoTaskInTime(0, function()
		inst.AnimState:PlayAnimation("give")
		inst.components.playercontroller:Enable(false)
		inst.components.locomotor:Stop()
		inst.Physics:SetMotorVelOverride(50,45,0) end )
   inst:DoTaskInTime(0.2, function()
		inst.Physics:ClearMotorVelOverride()
		inst.Physics:SetMotorVelOverride(50,0,0) end )
   inst:DoTaskInTime(0.3, function()
		inst.Physics:ClearMotorVelOverride()
		inst.Physics:SetMotorVelOverride(50,-25,0) end )
   inst:DoTaskInTime(0.5, function()
		inst.Physics:ClearMotorVelOverride()
		inst.components.locomotor:Stop()
		local pt = inst:GetPosition()
		inst.Transform:SetPosition(pt.x, 0, pt.z)
		inst.components.playercontroller:Enable(true)
		inst.Physics:SetCollides(true)
		inst.AnimState:PlayAnimation("idle")
		inst.SoundEmitter:PlaySound("dontstarve/movement/bodyfall_dirt", "bodyfall") end )
end )

	即可按键盘R键,让主角向前跳跃,用以方便地越过沟壑、墙等障碍,也可以跳到海面上,渡海而行。当身边有障碍物时,会影响跳跃高度。将其中KEY_R替换为其他键,比如KEY_C,就可以按键盘C键跳跃