使用數學運算符適用於XNA Vector2s,thanks to the overloads,例如:超載平等操作上Vector2( 「=」)在F# - 不同的載體報告等於
new Vector2(1.0f, 2.0f) + new Vector2(2.0f, 3.0f) // {X:3 Y:5}
(很方便)
但看看這個:
// Okay, this works fine.
new Vector2(1.0f, 2.0f) = new Vector2(1.0f, 2.0f) // true
// Is it checking for type equality?
new Vector2(1.0f, 2.0f) = new Vector2(6.0f, 5.0f) // true
那麼,爲什麼它呼籲Vector2重載爲op_Equality
(相同成交爲op_Inequality
)?如果直接調用它們,它們會按預期工作。 PS:如果它很重要,我認爲它沒有,我在Mono和Monogame下運行它。
PPS:這主要只是煩我不能使用=
,但我可以只是使用Vector2.Equals,如果我真的需要。
您是否已在代碼中的某處重新定義了「(=)」? – Daniel 2013-02-14 23:13:47
沒有,但我想這樣做來解決這個具有諷刺意味的問題 – Jwosty 2013-02-15 06:13:58