为什么小鸟跳跃的时候不是向上飞,而是朝着斜上方飞呢

2023-12-27 01:30

本文主要是介绍为什么小鸟跳跃的时候不是向上飞,而是朝着斜上方飞呢,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目场景:

当你刚入门Godot游戏开发时,做FlappyBird游戏时,跟着大佬一步一步做着,明明和别人代码一模一样,但是效果不一样嘞?

先来看一个我们想要达到效果场景
(在点击小鸟的时候,小鸟会向上跳跃)

20200216


问题描述

在游戏开发中,我们发现以下问题

在这里插入图片描述
我们可以看到,小鸟斜向上跳动了,这是为什么呢?

我们一起来看看吧~

原因分析:

我们需要了解以下几个概念

CollisionShape2D:2D碰撞形状
Sprite:精灵;电脑图形
Rigidbody2D: 2D图形体

Sprite也就是图中的小鸟图形,它只是一个平面图形
但是要让小鸟动起来,就要把它变得立体起来,所以我们用到了CollisionShape2D把小鸟变成2D效果

在这里插入图片描述
最最最重点的来了!!!
我们可以看到这里的Bird节点,它包含着下面三个子节点,可以看作给小鸟的效果
在我们将小鸟拖到场景中的时候,我们只把小鸟图形,也就是小鸟的Sprite拖到了中央,但是,我们没有将小鸟的中心节点拖到中心
而小鸟是围绕着中心节点跳动的,就会出现斜向上半圆弧跳动的效果
在这里插入图片描述


解决方案:

我们可以将节点移动到小鸟一样的位置,但是你会发现小鸟图形也会一起动,没关系,只需要把图形再拉回来就可以啦

在这里插入图片描述
这样我们就解决啦!

在这里插入图片描述

图形会随着节点一起动,但是节点不会随着图形一起动
这就是我们出现Bug的原因,我们应该选中的是Bird,而不是Sprite

这里就是全部内容啦,感谢观看。
欢迎点赞👍收藏⭐留言📝如有错误敬请指正!

这篇关于为什么小鸟跳跃的时候不是向上飞,而是朝着斜上方飞呢的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/541439

相关文章

VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virtual disk”问题

《VMWare报错“指定的文件不是虚拟磁盘“或“Thefilespecifiedisnotavirtualdisk”问题》文章描述了如何修复VMware虚拟机中出现的“指定的文件不是虚拟... 目录VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virt

浅谈java向上转型和乡下转型

首先学习每一种知识都需要弄明白这知识是用来干什么使用的 简单理解:当对象被创建时,它可以被传递给这些方法中的任何一个,这意味着它依次被向上转型为每一个接口,由于java中这个设计接口的模式,使得这项工作不需要程序员付出任何特别的努力。 向上转型的作用:1、为了能够向上转型为多个基类型(由此而带来的灵活性) 2、使用接口的第二个原因却是与使用抽象基类相同,防止客户端创建该类的对象,并确保这仅仅

Marsview这么好用?快速搭建后台不是梦

Marsview竟然这么好用?快速搭建后台不是梦! 还在为项目开发而焦头烂额吗?别再纠结了,Marsview来了!这个面向后台管理系统的低代码平台,不仅让你轻松搭建项目,还能让你成为团队中的“流量担当”。本文将带你了解 Marsview 的核心功能、技术架构,以及如何快速上手。 软件简介 Marsview 是一款专为中后台管理系统设计的低代码可视化平台,能够帮助开发者快速完成项目搭建和

20190315 把整理和培养自己当作一生的事业,而不是局限在找工作拿offer。

把整理和培养自己当作一生的事业,而不是局限在找工作拿offer,做有本事的人。 来东南读研半年了,明显感觉自己掌握的不过是书本知识级别的中上水平,垃圾收集器这些的只知道背面经,靠脑子硬记,缺乏整理和系统,一头浆糊。 现在一边做实训这个烂项目,一边刷面经,一边刷剑指offer,想投些大公司的实习,又觉得还没准备好,看着各 种面经,都能说个大概,但明显感觉到自己知识的不体系和不深入,**做的项目

OpenAI澄清:“GPT Next”不是新模型。

不,”GPT Next” 并不是OpenAI的下一个重要项目。 本周早些时候,OpenAI 日本业务的负责人长崎忠男在日本 KDDI 峰会上分享了一场演讲,似乎在暗示一个名为 “GPT Next” 的新模型即将出现。 但OpenAI的一位发言人已向Mashable证实,幻灯片中用引号括起来的”GPT Next”一词只是一个假设性占位符,旨在表明OpenAI的模型如何随着时间呈指数级进化。发言人

去 IOE 的本质不是 PR 砸场,而是云端再造

「青云一直有一个目标,就是要建立一朵更好的云,全模云的推出也标志着我们在实现这个目标上往前走了一大步。」 本文由青云QingCloud CTO 甘泉的演讲内容整理而来,共 2628 字,8 图,阅读大概需要 7 分钟。 青云QingCloud 如何解决「敏态」问题 先谈谈传统业务的 IT 部署模式,基本上都是刀片机+存储柜的模式,它们都是真实的物理机,上图密密麻麻的是刀片机,右边是存

cmd命令无法使用的情况(显示该命令不是内部或外部命令)

CMD 命令无法使用显示不是内部或外部命令,也不是可运行的程序或批处理文件。 问题所在:就是环境变量导致无法使用 重新配置环境变量    (注意是“用户变量”!而不是“系统变量”) 需添加环境变量如下 %SystemRoot%\system32%SystemRoot%%SystemRoot%\System32\Wbem%SYSTEMROOT%\System32\WindowsPo

55.跳跃游戏

给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。   /*** ClassName: Solution* Package: PACKAGE_NAME* Description:* @Author: GYF* @Create: 2024

大数据只是听起来唬人?其实啥也不是。

点击上方蓝色字体,选择“设为星标” 回复”面试“获取更多惊喜 各位读者大佬们晚上好。 前两天一个读者找到我,问了一些问题。想来大家都是同龄人,虽然素不相识,但是我想起来我前几年刚毕业的时候,大概也是怀揣这样的问题,进入到了这么一个行业。 这个同学的问题大概也是很多新手同学的疑问罢。 这位同学在学校一直学习的是Java后端的工作,「然后现在做实时流平台,岗位是Java大数据,工作一年半了快,但

函数能否返回对象,而不是指针

现有一通用 获取记录集合函数 function GetRec(StrSql:string):Tadodataset; var rec1:Tadodataset; begin rec1:=TADODataSet.Create(nil); rec1.Connection:=ADOConnection1; rec1.CommandText:=strsql; rec1.Open; result:=rec1