无法在 XNA 中隐式转换类型

2023-12-13

我有一个弹跳球,我试图让它弹跳一次时,速度会变得更高。

在我的球课上,我有一个float speed;

我初始化了它:public ball(float speed) speed = 1f;

我有一个球运动的方法,如下所示:

public void BallMovement()
{
    if (movingUp) { ballRect.Y -= speed; }//Error
    if (!movingUp) {  ballRect.Y += speed; }//Error
    if (movingLeft) {  ballRect.X -= speed; }//Error
    if (!movingLeft) {  ballRect.X += speed; }//Error

    if (ballPosition.Y < 85)
    {
        movingUp = false;
    }
    if (ballPosition.Y >= 480)
    {
        movingUp = true;
    }

然后我将其添加到更新方法中:BallMovement();

在我尝试使用速度变量之前它就工作了,由于这个错误它不会编译:

无法将类型“float”隐式转换为“int”。存在显式转换(是否缺少强制转换?)


速度需要浮动。如果您想将速度保持为浮动,您可以创建自己的矩形结构。你可以这样做:

        public struct RectangleF
    {
        float w = 0;
        float h = 0;
        float x = 0;
        float y = 0;

        public float Height
        {
            get { return h; }
            set { h = value; }
        }

        //put Width, X, and Y properties here

        public RectangleF(float width, float height, float X, float Y)
        {
            w = width;
            h = height;
            x = X;
            y = Y;
        }

        public bool Intersects(Rectangle refRectangle)
        {
            Rectangle rec = new Rectangle((int)x, (int)y, (int)w, (int)h);
            if (rec.Intersects(refRectangle)) return true;
            else return false;
        }
    }

相交检查不会绝对完美,但至少矩形的 X 和 Y 可以添加 0.5。华泰

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在 XNA 中隐式转换类型 的相关文章

随机推荐

  • 空手道 + 黄瓜报告缺少所调用场景响应的文档字符串

    Cucumber 报告缺少来自调用场景的响应的文档字符串 在给定的场景中 我使用 Call 调用多个场景 它的打印有时会随机响应所调用的场景 有时则不会 这阻碍了我们在测试报告中可视化API之间的数据流 尽管空手道日志有来自该调用场景的响应
  • 避免文本区域行/列错误?

    我正在使用几页验证工具我遇到的一个问题是他们告诉我 textarea 必须有 rows 和 cols 属性 如果我在 CSS 中设置它或使用 display none 并使用它来保存原始文本数据 我可以做一些跳过的事情吗 每次我使用它时 似
  • 删除缺失超过 x% 的列/行

    我想删除所有超过 50 的列或行NAs 在数据框中 这是我的解决方案 delete columns with more than 50 missings miss lt c for i in 1 ncol data if length wh
  • 如何创建一个通用例程来计时方法?

    我需要测量应用程序上下文中许多不同方法的执行情况 NET 当然有 Stopwatch 类 它允许人们使用它的 Start 和 Stop 方法轻松地对一段代码进行计时 然而 以正常方式使用 Stopwatch 类需要我用 Stopwatch
  • 如何等待所有线程完成工作?

    我有以下脚本 不参考内容 import thread def func1 arg1 arg2 print Write to CLI def verify result func1 for in range 4 thread start ne
  • C++ 将 mac id 字符串转换为 uint8_t 数组

    我想从命令行读取 mac id 并将其转换为数组uint8 t在结构中使用它的值 我无法让它工作 我有一个 mac id 分割的字符串向量 我想用stringstream转换他们没有运气 我缺少什么 int parseHex const s
  • 使用本质锁进入块

    我不明白以下代码如何产生似乎违反对象锁定义的输出 当然应该只允许一个线程打印 已获取锁 消息 但它们都这样做吗 class InterruptThreadGroup public static void main String args O
  • addToBackStack 参数为 null 是什么意思?

    我有一个客户代码 所有片段只有一个活动 即单个活动正在管理所有片段 此活动在该片段的方法末尾包含任何片段的以下代码 例如 片段MoreFragment MoreFragment firstFragment new MoreFragment
  • 不知道如何获得敌人的生命值

    我有这个代码 但我不知道为什么hit collider gameObject GetComponent health 返回 null void Shoot Vector2 mousePosition new Vector2 Camera m
  • 在 ASP.NET 中将二进制数据转换为图像控件

    我的数据库中有图像的二进制数据 我想将其显示在 ASP NET 中的图像控件中 如何 如果不可能 请另想办法将其保存到数据库中并在图像控件中显示 创建常规 HTMLimg像这样的元素 img And in 代码隐藏做这个 image src
  • 在 AngularJS 中将 json & 转换为 &

    我有一个具有 value 属性的 HTML 元素 该值应该是 Comfort Protection 但来自 JSON 获取结果的名称是 Comfort amp 在我看来 Protection 和 AngularJS 是这样打印的 我尝试将此
  • Jquery Datatable 到响应式数据表

    我是数据表新手 从未创建过响应式数据表 所以我可能需要很多帮助 Here is link用于可编辑的 JQuery 数据表 我想将其创建为响应式 我做的第一件事是删除了它的容器宽度 现在它的大小调整为平板电脑大小的屏幕 看起来不错 fw c
  • 在 sql server 2008 中将逗号分隔的字符串转换为表或数组,而不使用 dbo.split

    如何在sql server 2008中将逗号分隔的字符串转换为表或数组而不使用dbo split函数 因为系统不支持此函数 例如字符串 12 14 15 将此更改为 Table column 12 14 15 Or array 12 14
  • Typescript - 如何添加扩展方法

    我读到你可以在 Typescript 中创建扩展方法 我查找了一些代码 并将该代码放入我的扩展methods ts中 但我收到一条错误 指出 toNumber 不存在 我怎样才能解决这个问题 你可以延长String接口通过扩大全球范围 ex
  • Firebase 刷新令牌

    使用方法 FIRInstanceID tokenWithAuthorizedEntity scope options handler 我不太确定参数需要什么 授权实体和行动是什么 我还要将 APNS 令牌从苹果传递给该方法吗 AUTHORI
  • C++ 中的按键事件

    我目前正在使用GetAsyncKeyState 检测 Keydown 事件 但是当您按住该键时 这些事件将重复 有什么简单的方法可以阻止事件再次发生 Example 如果我按住键i在我的键盘上一段时间 我会得到这样的输出 iiiiiiiii
  • 使用java将日期转换为AEST

    我想使用 Java 将以下日期转换为 AEST 格式 2018 01 08T02 10 24 000 0000w 下面是我用来转换的代码 DateTimeFormatter dtf DateTimeFormatter ofPattern y
  • 添加facet_grid面板手段作为文本和hline

    我有一个看起来像这样的数据框 gt head df DGene JGene cdr3 len Sum 1 IGHD1 IGHJ1 0 22 2 IGHD1 IGHJ1 1 11 3 IGHD1 IGHJ1 2 16 4 IGHD1 IGHJ
  • 在 Azure Cosmos DB Graph API 中添加或获取顶点

    使用 Gremlin 我可以通过发出以下命令在 Azure Cosmos DB 图中创建顶点 g addV the label property id the id 然后使用找到它 g V the label has id the id 但
  • 无法在 XNA 中隐式转换类型

    我有一个弹跳球 我试图让它弹跳一次时 速度会变得更高 在我的球课上 我有一个float speed 我初始化了它 public ball float speed speed 1f 我有一个球运动的方法 如下所示 public void Ba