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

网站建设设计规划推推蛙贴吧优化

网站建设设计规划,推推蛙贴吧优化,手机网站的页面大小,wordpress 去掉 index.php目录 实现效果 场景搭建 脚本实现 移动 动画 完整脚本 相机跟随 总结 实现效果 场景搭建 本文章只分享了关于移动和动画的,没有给碰撞体,大家根据需要自行添加吧 相机的缩放大小可以根据自己的需要调整 我的人物动画结构是这样的,待机动…

目录

实现效果

 场景搭建

脚本实现

移动

 动画

完整脚本

相机跟随

总结


实现效果


 场景搭建

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

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

  我的人物动画结构是这样的,待机动(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/wzjs/412667.html

相关文章:

  • php网站开发图片国外免费建站网站
  • 门户网站建设公司渠道营销型网站建设步骤
  • 桂林市做网站的公司推广资源整合平台
  • 泰州外贸网站建设网站推广属于哪些
  • 中英文网站如何做思路哪些平台可以发广告
  • 国际公司和跨国公司优化设计官方电子版
  • 上海门户网站制作seo优化教学视频
  • wordpress 页面调新闻临沂seo推广
  • 网站建设首选公司网站关键词优化怎么做的
  • 做网站需要什么证件吗免费推广平台
  • 取名网站怎么做网站排名优化技巧
  • 泰国做彩票网站百度服务中心人工客服电话
  • 北京南站到故宫地铁怎么坐推广普通话作文
  • wordpress twenty fourteenseo关键词推广话术
  • 做网站有了空间在备案吗百度百科合作模式
  • 电脑建网站软件最新新闻今天最新新闻
  • 叠石桥网站建设网推和地推的区别
  • 做公众号链接的网站优化快速排名公司
  • 北京做网站多少钱智慧营销系统平台
  • 四川和城乡建设厅网站在线注册网站
  • 汉阴网站建设网页设计与制作教程
  • 台州cms建站系统百度网盘app下载
  • 郑州做优化的公司有哪些网站如何提升seo排名
  • 在家做私房菜的网站百度app内打开
  • 青海网站制作的公司百度宣传推广费用
  • 上海公司做网站的价格制作网页需要多少钱
  • nodejs同时做网站和后台管理代运营公司怎么找客户
  • 网络营销的解释来客seo
  • wordpress5.0改进seo综合查询站长工具关键词
  • 上海网站建设 app开发网络营销策划书结构