Ahogy a hurok viselkedik
Zdravsvtuyte, a helyzet a következő: próbálja forgatni egy objektumot a saját tengelye körül, a nyilakkal jelölt. ám az értékek cseréjét csak forgás 1 lépésben balra vagy jobbra. Nem értem, mi a probléma már az óra. az alábbi kódot:
- érvényteleníti Update ()
- // áruház ezen a területen az egyszerű optimalizálását a mozgás / forgási sebesség
- float sebesség = 1;
- // balra
- ha (Input.GetKey (KeyCode.LeftArrow)) TurnPlatform (sebességű);
- // kapcsolja be a jobb
- if (Input.GetKey (KeyCode.RightArrow)) TurnPlatform (sebesség);
- // előrelépni
- if (Input.GetKey (KeyCode.UpArrow)) MovePlatform (sebesség);
- // hátrál
- ha (Input.GetKey (KeyCode.DownArrow)) MovePlatform (sebességű);
- >
- // mozgás platform
- void MovePlatform (float sebesség)
- float posX = gameObject.transform.position.x + sebesség;
- float Posy = gameObject.transform.position.y;
- float posZ = gameObject.transform.position.z;
- gameObject.transform.position = új Vector3 (posX, Posy, posZ);
- >
- // forgatni a platform
- void TurnPlatform (float sebesség)
- // pillanatnyi helyzetének tárolása, kivéve Y, amely hozzá az aktuális pozícióját +/- fokos elfordulása
- float Rotx = gameObject.transform.rotation.x;
- float ROTY = gameObject.transform.rotation.y + sebesség;
- float Rötz = gameObject.transform.rotation.z;
- gameObject.transform.rotation = Quaternion.Euler (Rotx, ROTY, Rötz) ;;
- >
Paul Siberdt írta (a): [3] alkalmazása a paramétereket a funkciókat a meglévő változók a script ragyog szórakozz neveket. Megoldásként - hívás, például azok aláhúzás: _speed
Hadd fejezzem ki (és nem csak) szempontjából. Van olyan dolog, mint a Code egyezmények - egy megállapodás egy adott nyelv írásmódja kódot. Ezek majdnem minden nyelven. Maximális biztonság, ezek díszített Java és C #. nem csupán egy sor ajánlást, valamint sürgősen sor ajánlást az egyes kódok stílus szempontból a megállapodás vannak írva ezek a nyelvek.
Szóval, az elnevezés a változók Sharp (ez nem az én döntésem, hogy kövesse ezeket a szabályokat, de a IMHO is beleértve):
- Nyilvános és védett változók kezdődik nagybetűvel, és ne használjon speciális karaktereket önmagukban (public int SomeValue;)
- Tulajdonságok függetlenül hatálya kezdődik nagybetűvel és jelenleg nem használják a speciális szimbólumok (magán kettős SomeDouble)
- Egyéni változók egy osztályon belül az aláhúzás az elején, és kezdődik egy kisbetű, és ne használjon speciális karaktereket más helyeken (magán húr _someString;)
- Helyi változók kezdődik egy kisbetű, és ne használjon speciális karaktereket önmagukban (public void fuggveny ()).
Ez nem a részletek a megállapodás, de egy rövid felidézése.
Ha fel ReSharper, de nem kapcsolja ki a háttérvilágítást megállapodások - a kód elkápráztatja kék aláhúzás. Frusztráló, és ez jobb (ismét, IMHO).
De a munka oda-vissza négyes támaszkodva evlerovy sarkok veszélyesen kiszámíthatatlan leletek.
Az egyetlen dolog, amit tehetünk Bole-mene magabiztosan - hozzon létre evlerovy forgatás egy tengelyre, hogy őket négyes, és kizárólag rajtuk. Ami, mellesleg, én az utolsó [negyedik] bekezdésében a válaszát.
Valójában én nem ajánlom játszik az Euler szögek, anélkül, hogy megértenénk őket.
Meg kell többször (jobb - néhány nappal a sorban lefekvés előtt), olvassa el ezt és ezt. Természetesen, ha azt szeretnénk, hogy mester őket. Óvatosan, breynfak (nem abban az értelemben, PL cím)!
Johnson megjelent eredményeként osztás null. Krivokoder visszaeső. Harap.
Jó, hogy a kórházban a sebészek nem ugyanaz, mint az újoncok ezen a fórumon. Azért jöttem, hogy húzza a köröm a kezéből, és levágja a tojásokat.
ProgrammerNotFoundException on line 0!