C# 使用转换的浮点创建矩形时的参数问题
尝试使用从浮点转换而来的int创建矩形时会出现一些小问题C# 使用转换的浮点创建矩形时的参数问题,c#,parameters,xna,C#,Parameters,Xna,尝试使用从浮点转换而来的int创建矩形时会出现一些小问题 CafBar.Position = new Vector2(30, 10); int CafLvlRound = (int)Math.Round(Player.CafLvl); CafRectangle = new Rectangle(CafBar.Position.X, CafBar.Position.Y, CafLvlRound, CafBar.Size.Height); 我的问题是,当我使用“caflflround”作为第三
CafBar.Position = new Vector2(30, 10);
int CafLvlRound = (int)Math.Round(Player.CafLvl);
CafRectangle = new Rectangle(CafBar.Position.X, CafBar.Position.Y, CafLvlRound, CafBar.Size.Height);
我的问题是,当我使用“caflflround”作为第三个参数时,我得到两个错误,即CafBar.Position.X和CafBar.Position.Y是浮点数,需要转换为整数,而它们显然是30和10的整数?然后,当我删除第三个参数时,错误消失了
有人知道如何解决这个问题吗?Vector2的唯一保持浮动。30和10是整数,但Vector2构造函数将它们隐式转换为浮点。矩形有4个整数参数,因此每个参数都必须是整数。请参见Vector2的唯一保持浮动。30和10是整数,但Vector2构造函数将它们隐式转换为浮点。矩形有4个整数参数,因此每个参数都必须是整数。请参见
CafBar.Position.X
和CafBar.Position.Y
是浮点数,您知道这两个值都可以转换为int
所以
CafBar.Position.X
和CafBar.Position.Y
都是浮点数,您知道这两个值都可以转换为int
所以
当你需要转换为int时,你应该输入(int)值
,当你需要转换为float时,你应该输入(float)值
。当你需要转换为int时,你应该输入(int)值
,当你需要转换为float时,你应该输入(float)值
。这显然需要2个float作为参数,因此,您传递的将被解释为浮点,而不是整数
如果你看一下和字段,它们显然都是浮动的
RTFM,伙计。是你的朋友。您应该将代码更改为在此上下文中使用浮点数,而不是从整数来回转换。显然将2个浮点数作为参数,因此您传递的将被解释为浮点数,而不是整数
如果你看一下和字段,它们显然都是浮动的
RTFM,伙计。是你的朋友。在此上下文中,您应该更改代码以使用浮点数,而不是从整数来回转换。
30和10是浮点数,整数wat30和10是浮点数,以及整数wat我很好奇,当我删除第三个参数时,错误消失是真的…我得到两个错误
第二个错误是什么?第一个:CafBar.Position.X是float,需要整数第二个:与第一个错误相同,除了CafBar.Position。我很好奇当我删除第三个参数时,错误消失是真的…我得到两个错误
第二个错误是什么?第一个:CafBar.Position.X是float,需要整数第二个:与第一个错误相同,除了CafBar.Position.YAh,谢谢!我对这个很陌生,所以我会记得《未来》的演员阵容啊,谢谢!我对这个很陌生,所以我会记得为Futuratanks铸造,我会在未来使用这个!谢谢,我以后会用这个的!
CafRectangle = new Rectangle((int)CafBar.Position.X, (int)CafBar.Position.Y, CafLvlRound, CafBar.Size.Height);