当前位置: 首页 > news >正文

福州企业自助建站建行网站会员有什么用

福州企业自助建站,建行网站会员有什么用,外贸快车智能建站,wordpress add filter目录 实现效果 场景搭建 脚本实现 移动 动画 完整脚本 相机跟随 总结 实现效果 场景搭建 本文章只分享了关于移动和动画的,没有给碰撞体,大家根据需要自行添加吧 相机的缩放大小可以根据自己的需要调整 我的人物动画结构是这样的,待机动…

目录

实现效果

 场景搭建

脚本实现

移动

 动画

完整脚本

相机跟随

总结


实现效果


 场景搭建

  本文章只分享了关于移动和动画的,没有给碰撞体,大家根据需要自行添加吧

  相机的缩放大小可以根据自己的需要调整

  我的人物动画结构是这样的,待机动(idle)}和移动动画(walk


脚本实现

移动

  首先,我们需要声明一个移动速度变量,然后将移动代码写在Process函数中

using Godot;
using System;public partial class Player : CharacterBody2D
{[Export] public float moveSpeed;public override void _Process(double delta){Move((float)delta);}void Move(float delta){Vector2 direction = Vector2.Zero;if (Input.IsActionPressed("right"))direction.X += 1;if (Input.IsActionPressed("left"))direction.X -= 1;if (Input.IsActionPressed("down"))direction.Y += 1;if (Input.IsActionPressed("up"))direction.Y -= 1;direction = direction.Normalized();Velocity = direction * moveSpeed;MoveAndSlide(); //根据速度滑动式移动角色,并自动处理碰撞}}

  构建场景,在人物面板设置变量值,然后在面板里面添加按键映射,我们可以就能正常的移动人物了

 动画

  接下来是动画部分,我用枚举实现了一个简单的状态机,并且在移动代码里面添加了水平翻转的代码

using Godot;
using System;public partial class Player : CharacterBody2D
{private enum AnimState{idle,walk}AnimState animState = AnimState.idle;private AnimatedSprite2D _playerAnim;public override void _Ready(){_playerAnim = GetNode<AnimatedSprite2D>("./AnimatedSprite2D");}public override void _Process(double delta){Move((float)delta);AnimStateSwitch();}void Move(float delta){...if (direction != Vector2.Zero){...if (direction.X > 0) _playerAnim.FlipH = false;else if (direction.X < 0) _playerAnim.FlipH = true;}else{animState = AnimState.idle;}}void AnimStateSwitch(){switch (animState){case AnimState.idle: _playerAnim.Play("idle"); break;case AnimState.walk: _playerAnim.Play("walk"); break;}}
}

 构建并运行场景,我们就能丝滑的控制人物的动画了

完整脚本

using Godot;
using System;public partial class Player : CharacterBody2D
{[Export] public float moveSpeed;private enum AnimState{idle,walk}AnimState animState = AnimState.idle;private AnimatedSprite2D _playerAnim;public override void _Ready(){_playerAnim = GetNode<AnimatedSprite2D>("./AnimatedSprite2D");}public override void _Process(double delta){Move((float)delta);AnimStateSwitch();}void Move(float delta){Vector2 direction = Vector2.Zero;if (Input.IsActionPressed("right"))direction.X += 1;if (Input.IsActionPressed("left"))direction.X -= 1;if (Input.IsActionPressed("down"))direction.Y += 1;if (Input.IsActionPressed("up"))direction.Y -= 1;direction = direction.Normalized();if (direction != Vector2.Zero){Velocity = direction * moveSpeed;animState = AnimState.walk;MoveAndSlide();if (direction.X > 0) _playerAnim.FlipH = false;else if (direction.X < 0) _playerAnim.FlipH = true;}else{animState = AnimState.idle;}}void AnimStateSwitch(){switch (animState){case AnimState.idle: _playerAnim.Play("idle"); break;case AnimState.walk: _playerAnim.Play("walk"); break;}}
}

相机跟随

  关于相机的平滑跟随,我们有一个简单的办法,设置Position Smoothing属性EnabledTrue即可平滑跟随,可以设置speed来控制跟随的速度


总结

  这里简单的跟大家分享了一下基础的控制人物方法,大家可以根据需要自行调整

http://www.dtcms.com/a/579655.html

相关文章:

  • wordpress 多站点模式wordpress topnews
  • 中国品牌网站建设手机app商城
  • 广州网站建设工作室单位加强网站建设
  • 有关建设旅游网站的公司库存管理软件免费 哪个好
  • 做网站设计累吗河南郑州暴雨
  • 常州建设银行新北分行网站购物网站的页面设计
  • 优化公司网站排名网站的动画广告横幅怎么做的
  • 网站建设要钞钱wordpress 远程
  • 想建设个网站卖东西郑州网站建设推广优化
  • 网站项目案例怎么下载别人网站模板
  • 网站规划总结宝安做棋牌网站建设多少钱
  • 新野做网站vi设计都包括什么
  • 天河区pc端网站建设vi设计软件
  • 广州建设培训网站做网站用花生壳哪个版本
  • 网站不备案可以做淘宝客吗低价自适应网站建设优化建站
  • 关键词采集网站自助在线设计平台
  • 企业宣传网站在哪里做新手如何做网站
  • 国外网络销售平台有哪些seo服务公司
  • 福田做网站哪家专业好看的wordpress工具
  • php程序员网站开发济南智能网站建设哪家好
  • 在华图做网站编辑网上书城网站开发
  • 如何知道网站是否被k哪些网站是503错误代码
  • 静态网站开发实验报告近期新闻
  • 不用源码做网站网站的优化方案怎么写
  • 淘宝网站推广工具春晗环境建设有限公司网站
  • 官方网站开发需要几个技术人员网站手机验证码怎么做
  • 资金盘网站开发服务平台推广
  • 安徽建设厅网站进不去网络设计的关键是什么
  • 湛江cms建站网站制作便宜
  • 做的最好的门户网站网站建设成本明细