0
GLKVector3(または4)のフィールドに割り当てる正しい方法は何ですか?GLKit。 GLKVector3のコンポーネントに割り当てる方法
これが失敗した:.x
と.z
はゲッターであるので、理にかなって
。回避策は何ですか?
GLKVector3(または4)のフィールドに割り当てる正しい方法は何ですか?GLKit。 GLKVector3のコンポーネントに割り当てる方法
これが失敗した:.x
と.z
はゲッターであるので、理にかなって
。回避策は何ですか?
スウィフトのGLKVector3
は、var
かのいずれであっても変更できません。任意のFloat
値を持つものを作成するには、GLKVector3Make
を使用します。新しいインスタンスに新しい結果を生成します。
ので:
locationInBallCoordinates
と
ballCentre
はすでに
GLKVector3
のインスタンスであれば
let ballLocation = GLKVector3Make(
(locationInBallCoordinates.x - ballCentre.x)/ballRadius,
0.0,
(locationInBallCoordinates.y - ballCentre.y)/ballRadius)
または、 - そして私が最初にこの答えを書いたとき、私は気づいていなかったY・ツー・Z成分のスイッチがありませんでした - その後:
let ballLocation =
GLKVector3DivideScalar(
GLKVector3Subtract(locationInBallCoordinates, ballCentre),
ballRadius)
それは、z
秒にy
Sを移動するために解凍して再梱包し、おそらく最も簡単ですが、あなたはそれに高いレベルに保つために必死だった場合、あなたはまた、乗算行列を使用することができます。
私はそれを恐れていました。一口。このようなtrival set-ting操作のために不必要に厄介な/言葉のあるコードを作成します。その後。どうも。 – dugla
ああ、実際には、もっと簡潔にするために+ -/*をオーバーロードすることができます。スウィフトFTW。 – dugla