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

湖南省网站备案时间国内企业手机网站建设

湖南省网站备案时间,国内企业手机网站建设,wordpress查看版本号,wordpress幻灯片多大文章首发及后续更新:https://mwhls.top/4450.html,无图/无目录/格式错误/更多相关请至首发页查看。 新的更新内容请到mwhls.top查看。 欢迎提出任何疑问及批评,非常感谢! 汇总:Unity 记录 摘要:实现跳跃、蹬…

文章首发及后续更新:https://mwhls.top/4450.html,无图/无目录/格式错误/更多相关请至首发页查看。
新的更新内容请到mwhls.top查看。
欢迎提出任何疑问及批评,非常感谢!

汇总:Unity 记录

摘要:实现跳跃、蹬墙跳与贴墙下落,重写了项目。

参考课程:超新Unity课程用Unity+C#制作2D游戏快速入门到实战课程2D实战课程

目录
原型碰撞箱 2023/02/13
跳跃 – 2023/02/13
蹬墙跳与贴墙下落 – 2023/02/14 – 2023/02/15
项目重写 – 2023/02/15

原型碰撞箱 2023/02/13

  • 碰撞箱有圆形的,设置后左右移动会令物体旋转,为刚体开启轴的旋转限制以解决。

跳跃 – 2023/02/13

  • 教程里面是加一个脚底的圆形判定点来实现,但是我的对象是圆的,我希望它下半身碰到任何可接触物块时都能跳跃,那这个圆形判断就不太好。
    • 比如卡在缝里,下半身肯定有接触才能卡,但是因为圆形碰撞太小,导致没判断接地,太大的话,腾空就能跳跃。
  • 今天改了几个小时的跳跃,其中一个版本效果很好,可以在被卡着的缝里跳出,且不会在墙壁上起跳。
    • 加三个碰撞体,中间 middle 一个扁的长方体,下方 lower 一个圆形,最底 foot 一个窄一点的长方体。
    • 所有跳跃都需要lower触碰时才能起跳。
    • middle有接触时表示碰到墙,不允许起跳,除非 foot 也有接触。
    • 使用圆形的 lower 避免太远就可起跳,违和。
    • 但还有一个问题,他可以卡在墙上,不是跳跃的问题,是摩擦力的问题。
  • 然后我把摩擦力关了,发现能直接从缝里移动出来,跳跃可以简略
    • 所以我把我几个小时的成果删了,把 foot 换成大约占 0.5 宽度的 edge,edge 由六个点组成,刚好不会离碰撞体太远,也不会因为速度太快导致撞墙可以跳跃。
    • 简化掉不必要的东西,避免性能浪费。

Unity_05_BetterJump.png

蹬墙跳与贴墙下落 – 2023/02/14 – 2023/02/15

  • 实现中途发现脚本太多不好找,于是对项目重写了,介绍下最终效果。
  • 贴墙下落比较简单,不多提。
  • 可以多段跳,多段蹬墙跳,在墙上只蹬墙跳,在地上只跳跃。
  • 不按移动键时可以在墙上使用无水平速度的蹬墙跳,可以在墙壁上获得最高跳跃,不会因为水平速度离开墙壁。
    • 换句话说算是个跨越高墙的小技巧。
  • 跳跃有冷却,用协程实现,涉及到下面更复杂的判定。

项目重写 – 2023/02/15

  • 这次又重写了下,第一次是把命名规范了下,第二次,也就是这次,是把行为归类,并且用了更复杂的判定。
  • 行为归类:
    • 之前是统一用 PlayerBase 来实现移动,动画,攻击。
    • 现在移动,攻击,动画是各自一个类。
    • PlayerBase 只存储角色信息,比如哪些技能可用,剩余次数。
  • 更复杂的判定:
    • 现在所有运动都有新的判定:可用、剩余次数、执行顺序。
  • 一点吐槽:
    • 这几天不务正业了,就早上搞学术,下午晚上都在搞 Unity,明天要注意一下。
    • 但是第三集就是动画切换了,看起来我能开始画动画了!
// 分享一下重写后的跳跃public void action_jump(bool keydown_jump, float input_x){// condictionif (!keydown_jump) return;// jump wallelse if (check_jump_wall()){// actionjump_wall(input_x);// animation}// jumpif (check_jump()) {// actionjump();// animation}}
bool check_jump(){// skill enable?if (!player_base.enableSkill["jump"]) return false;// touch ground?bool isGrounded = check_touch(player_base.transform_dict["FootTouch"].GetComponent<EdgeCollider2D>());if (isGrounded) player_base.recoverSkill("jump", "jump_wall");// times enough?if (!player_base.consume_skill_times("jump")) return false;return true;
}public void jump(){// cooldownIEnumerator coroutine = player_base.reverse_skill(0.25f, "jump_wall", "jump");StartCoroutine(coroutine);// actionrb.velocity = new Vector2(rb.velocity.x, speed_jump_final);
}bool check_jump_wall(){// skill enable?if (!player_base.enableSkill["jump_wall"]) return false;// touch ground?bool isGrounded = check_touch(player_base.transform_dict["FootTouch"].GetComponent<EdgeCollider2D>());if (isGrounded) {player_base.recoverSkill("jump", "jump_wall");return false;}// touch wall?bool isStickWall = check_touch(player_base.transform_dict["MiddleTouch"].GetComponent<EdgeCollider2D>());if (!isStickWall) return false;// times enough?if (!player_base.consume_skill_times("jump_wall")) return false;return true;
}public void jump_wall(float input_x){// cooldownIEnumerator coroutine = player_base.reverse_skill(0.25f, "move", "jump_wall", "jump");StartCoroutine(coroutine);// actionrb.velocity = new Vector2(rb.velocity.x, speed_jump_wall_final);move(-input_x);
}</code></pre>
http://www.yayakq.cn/news/530712/

相关文章:

  • php做电商网站有那几个模块东莞手机端网络推广
  • 电影院订票网站开发门户网站开发
  • 安徽php网站建设专业的网页设计和网站建设公司
  • 周口市住房和城市建设局网站手游传奇代理一个版本多少钱
  • 做我的狗漫画网站松花江避暑城建设网站
  • 网站设计及内容策划wordpress申请网站
  • 合肥市城乡建设局网站怎么做网站frontpage
  • 网站主页设计收费seo快速排名首页
  • 怎么在网上接网站开发的工作网店设计实训报告
  • 做防水保温怎么建网站二级域名租用
  • 免费的ppt成品网站大全网站建设易客
  • vscode网站开发app网站开发河 又
  • 百度免费校园网站建设手机网站百度关键词排名查询
  • 连云港企业做网站公关公司有哪些职位
  • 网站建设制作培训盐城本地网站建设公司电话
  • 广州知名网站推广建设工程信息网一体化平台
  • 网站开发工程师 面试英语企业邮箱怎样注册
  • 北京大型网站优化企业内部门户网站建设方案
  • PHP网站开发程序员招聘建设网站收废品
  • 河北省住房和城乡建设部网站首页做网站过程
  • 做的好的营销型网站有哪些中铁建设集团华东分公司网站
  • 做百度推广需要有自己的网站吗查看网站历史页面
  • 贵州省交通建设集团网站网站关键词优化有用吗
  • 天河网站建设设计微信公众平台注册官网
  • 一个专门做恐怖片的网站flatsome wordpress
  • 网站推广的主题微商引流推广平台
  • 中企动力做网站一次性付款危机公关处理方案
  • wordpress猫咪主题seo站长网怎么下载
  • 网页优化与网站优软件开发方案怎么写
  • 网站推广岗位的要求编程跟做网站