うまく動作するチュートリアルの後にいくつかのコードがありますが、その理由を理解できません。このコードは、単純な2Dキャラクタを、その方向に基づいて左から右にフリップさせることです。ブール値の仕事をトグルするこのコードはどうですか?
private bool facingright;
void Start() {
//defaults that we are in fact facing right when game starts.
facingright = true;
明らかに、ゲームが開始されるときにブールが真であることがわかります。私たちは、それは本当の真実かそうでない時期を制御するために、追加のメソッドを作成します。
private void Flip(float horizontal){
//if horizontal is greater than 0 and not facing right.
//or if horizontal is less than zero and is facing right
if (horizontal > 0 && !facingright || horizontal < 0 && facingright) {
//you are no longer facing right, but how does it go back?
facingright = !facingright;
//theScale is transforming the x axis on scale.
Vector3 theScale = transform.localScale;
//the value of the axis change is x * -1
theScale.x *= -1;
//Then change the new value to theScale?
transform.localScale = theScale;
だから、私は私の人生のために、このIf文がworks.YouはコメントIで見ることができる理由のまわりで私の頭をラップすることはできませんこのようなことが起きたり、何か他のことが起きた場合には、それが活性化することを理解してください私の理解から、これは直面するだけです=直面する - しかしそれはどのように戻ってくるのですか?
これは正直であると言っていますか!正直なのですが、これがすでに真実であればそれを逆転させますか?
同時に、スケーリングはx軸を1または-1に移動します。コードはそれを一度しか要求しません。どのようにして変更を元に戻すことができますか?これを理解する助けとなることを大変感謝しています。私はこれがこの作品に関連するすべてのコードだと思う。
私は多分あなたは混乱の修飾子と割り当てを取得していると思います。また、1 * -1 = -1となる。しかし、-1 * -1 = 1です。それがどのように反転するかです。 – oxrock
"not true"はfalseです。 「偽ではない」というのは真実です。 – Blorgbeard
ありがとうございました!スケーリングは実際にそれを反転しているのですか?それが反転するたびに、それを反転させる反転のスケーリング、または?ブラ – LocalNerd