{"id":40258,"date":"2018-02-13T11:59:07","date_gmt":"2018-02-13T17:59:07","guid":{"rendered":"http:\/\/sierrablogsite.wordpress.com\/?p=799"},"modified":"2018-02-13T11:59:07","modified_gmt":"2018-02-13T17:59:07","slug":"c","status":"publish","type":"post","link":"https:\/\/kenscourses.com\/tc101fall2016\/syndicated\/c\/","title":{"rendered":"C#"},"content":{"rendered":"<p class=\"syndicated-attribution\"><em> --Originally published at <a href=\"https:\/\/sierrablogsite.wordpress.com\/2018\/02\/13\/c\/\"><a href=\"https:\/\/sierrablogsite.wordpress.com\">Sierra&amp;#039;s Blog<\/a><\/a><\/em><br \/><\/p>\n<hr \/>\n<p><strong>CLASS 1<\/strong><\/p>\n<p>\/\/se ejecuta una vez al iniciar el gameobject<\/p>\n<p>\/\/no se sabe el orden de ejecuci\u00f3n<\/p>\n<p>void Awake(){<\/p>\n<p>}<\/p>\n<p>&nbsp;<\/p>\n<p>\/\/se ejecuta despu\u00e9s de todos los awake<\/p>\n<p>\/\/\u00fasalo para inicializaci\u00f3n<\/p>\n<p>void Start(){<\/p>\n<p>}<\/p>\n<p>&nbsp;<\/p>\n<p>\/\/se ejecuta una vez por frame<\/p>\n<p>\/\/pon aqu\u00ed entradas de usuario y movimiento<\/p>\n<p>void Update(){<\/p>\n<p>}<\/p>\n<p>&nbsp;<\/p>\n<p>void LateUpdate(){<\/p>\n<p>}<\/p>\n<p>&nbsp;<\/p>\n<p>\/\/corre en un framerate fijo<\/p>\n<p>void FixedUpdate(){<\/p>\n<p>}<\/p>\n<hr \/>\n<p><strong>Class2 Collisions<\/strong><\/p>\n<p><em>\/\/\u00a0reference\u00a0to\u00a0other\u00a0components<\/em><br \/>\n<em>\/\/\u00a0all\u00a0components\u00a0have\u00a0a\u00a0corresponding\u00a0class<\/em><br \/>\nprivate\u00a0Transform\u00a0t;<br \/>\n<em>\/\/\u00a0atributos\u00a0p\u00fablicos<\/em><br \/>\n<em>\/\/\u00a0primitivos\u00a0y\u00a0clases\u00a0de\u00a0unity\u00a0pueden\u00a0ser\u00a0modificadas\u00a0desde\u00a0editor<\/em><br \/>\npublic\u00a0float\u00a0velocidad;<\/p>\n<p><em>\/\/public\u00a0GameObject\u00a0go;<\/em><br \/>\npublic\u00a0Text\u00a0text;<\/p>\n<p>private\u00a0Vector3\u00a0pos;<\/p>\n<p><em>\/\/\u00a0Use\u00a0this\u00a0for\u00a0initialization<\/em><br \/>\nvoid\u00a0Start\u00a0()\u00a0{<\/p>\n<p><em>\/\/\u00a0this\u00a0can\u00a0return\u00a0null!!!!\u00a0<\/em><br \/>\n<em>\/\/\u00a0whenever\u00a0you\u00a0do\u00a0this\u00a0do\u00a0it\u00a0the\u00a0least\u00a0times\u00a0possible<\/em><br \/>\nt\u00a0=\u00a0GetComponent&lt;Transform&gt;\u00a0();<\/p>\n<p><em>\/\/\u00a0go\u00a0=\u00a0GameObject.Find\u00a0(&#8220;Text&#8221;);<\/em><br \/>\n<em>\/\/\u00a0text\u00a0=\u00a0go.GetComponent&lt;Text&gt;\u00a0();<\/em><br \/>\ntext.text\u00a0=\u00a0&#8220;HOLA,\u00a0S\u00cd\u00a0JAL\u00d3&#8221;;<br \/>\npos\u00a0=\u00a0transform.position;<br \/>\n}<\/p>\n<p><em>\/\/\u00a0Update\u00a0is\u00a0called\u00a0once\u00a0per\u00a0frame<\/em><br \/>\nvoid\u00a0Update\u00a0()\u00a0{<\/p>\n<p><em>\/\/t.Translate\u00a0(0.01f,\u00a00,\u00a00);<\/em><br \/>\n<em>\/\/\u00a0first\u00a0issue\u00a0&#8211;\u00a0speed\u00a0<\/em><br \/>\n<em>\/\/\u00a0Time.deltaTime\u00a0&#8211;\u00a0keeps\u00a0track\u00a0of\u00a0how\u00a0much\u00a0time\u00a0passed\u00a0since\u00a0last\u00a0frames<\/em><\/p>\n<p><em>\/\/\u00a0input\u00a0&#8211;\u00a02\u00a0ways\u00a0to\u00a0catch\u00a0input<\/em><br \/>\n<em>\/\/\u00a0&#8211;\u00a0directly\u00a0pole\u00a0from\u00a0device<\/em><br \/>\nif(Input.GetKeyDown(KeyCode.A)){<br \/>\n<em>\/\/print\u00a0(&#8220;KEY\u00a0DOWN!&#8221;);<\/em><br \/>\n}<\/p>\n<p>if\u00a0(Input.GetKey\u00a0(KeyCode.A))\u00a0{<br \/>\n<em>\/\/print\u00a0(&#8220;JUST\u00a0KEY.&#8221;);<\/em><br \/>\n}<\/p>\n<p>if\u00a0(Input.GetKeyUp\u00a0(KeyCode.A))\u00a0{<br \/>\n<em>\/\/print\u00a0(&#8220;KEY\u00a0RELEASED!&#8221;);<\/em><br \/>\n}<\/p>\n<p>if\u00a0(Input.GetMouseButtonDown\u00a0(0))\u00a0{<br \/>\nprint\u00a0(Input.mousePosition);<br \/>\n}<\/p>\n<p><em>\/\/\u00a0&#8211;\u00a0through\u00a0axes\u00a0(plural\u00a0of\u00a0axis)<\/em><br \/>\nfloat\u00a0h\u00a0=\u00a0Input.GetAxis(&#8220;Horizontal&#8221;);<br \/>\nfloat\u00a0v\u00a0=\u00a0Input.GetAxis\u00a0(&#8220;Vertical&#8221;);<br \/>\n<em>\/\/print\u00a0(h);<\/em><\/p>\n<p>transform.Translate\u00a0(h\u00a0*\u00a0velocidad\u00a0*\u00a0Time.deltaTime,\u00a0v\u00a0*\u00a0velocidad\u00a0*\u00a0Time.deltaTime,\u00a00,\u00a0Space.World);<br \/>\n}<\/p>\n<p>void\u00a0OnCollisionEnter(Collision\u00a0c){<br \/>\nprint\u00a0(c.contacts\u00a0[0].point);<br \/>\nprint\u00a0(c.gameObject.transform.name);<\/p>\n<p>}<\/p>\n<p>void\u00a0OnCollisionStay(Collision\u00a0c){<br \/>\n<em>\/\/print\u00a0(&#8220;stay&#8221;);<\/em><br \/>\n}<\/p>\n<p>void\u00a0OnCollisionExit(Collision\u00a0c){<br \/>\nprint(&#8220;exit&#8221;);<br \/>\n}<\/p>\n<p>void\u00a0OnTriggerEnter(Collider\u00a0c){<br \/>\nprint\u00a0(&#8220;ENTER&#8221;);<br \/>\nDestroy\u00a0(c.gameObject);<br \/>\ntransform.position\u00a0=\u00a0pos;<br \/>\n}<\/p>\n<p>void\u00a0OnTriggerStay(Collider\u00a0c){<\/p>\n<p>}<\/p>\n<p>void\u00a0OnTriggerExit(Collider\u00a0c){<\/p>\n<p>}<\/p>\n<hr \/>\n<p><strong>Class 3 Physics<\/strong><\/p>\n<p>using\u00a0System.Collections;<br \/>\nusing\u00a0System.Collections.Generic;<br \/>\nusing\u00a0UnityEngine;<\/p>\n<p>public\u00a0class\u00a0Brick\u00a0:\u00a0MonoBehaviour\u00a0{<\/p>\n<p>private\u00a0Rigidbody\u00a0rb;<\/p>\n<p><em>\/\/\u00a0Use\u00a0this\u00a0for\u00a0initialization<\/em><br \/>\nvoid\u00a0Start\u00a0()\u00a0{<\/p>\n<p>rb\u00a0=\u00a0GetComponent&lt;Rigidbody&gt;\u00a0();<br \/>\nInvoke\u00a0(&#8220;Explotar&#8221;,\u00a02);<br \/>\n}<\/p>\n<p><em>\/\/\u00a0Update\u00a0is\u00a0called\u00a0once\u00a0per\u00a0frame<\/em><br \/>\nvoid\u00a0Update\u00a0()\u00a0{<\/p>\n<p>}<\/p>\n<p>void\u00a0Explotar\u00a0()\u00a0{<\/p>\n<p>rb.AddExplosionForce\u00a0(2000,\u00a0Vector3.zero,\u00a010);<br \/>\nprint\u00a0(&#8220;si\u00a0jala&#8221;);<br \/>\n}<br \/>\n}<\/p>\n<p>&nbsp;<\/p>\n<p>using\u00a0System.Collections;<br \/>\nusing\u00a0System.Collections.Generic;<br \/>\nusing\u00a0UnityEngine;<\/p>\n<p>public\u00a0class\u00a0Bullet\u00a0:\u00a0MonoBehaviour\u00a0{<\/p>\n<p><em>\/\/\u00a0retrieving\u00a0a\u00a0reference\u00a0to\u00a0a\u00a0component<\/em><br \/>\nprivate\u00a0Rigidbody\u00a0rb;<\/p>\n<p><em>\/\/\u00a0Use\u00a0this\u00a0for\u00a0initialization<\/em><br \/>\nvoid\u00a0Start\u00a0()\u00a0{<\/p>\n<p><em>\/\/\u00a0this\u00a0can\u00a0always\u00a0return\u00a0null<\/em><br \/>\nrb\u00a0=\u00a0GetComponent&lt;Rigidbody&gt;\u00a0();<\/p>\n<p><em>\/\/\u00a0-20<\/em><br \/>\nrb.AddForce\u00a0(100\u00a0*\u00a0transform.up,\u00a0ForceMode.Impulse);<br \/>\nDestroy\u00a0(gameObject,\u00a03);<br \/>\n}<\/p>\n<p><em>\/\/\u00a0Update\u00a0is\u00a0called\u00a0once\u00a0per\u00a0frame<\/em><br \/>\nvoid\u00a0Update\u00a0()\u00a0{<\/p>\n<p>}<br \/>\n}<\/p>\n<p>using\u00a0System.Collections;<br \/>\nusing\u00a0System.Collections.Generic;<br \/>\nusing\u00a0UnityEngine;<\/p>\n<p>public\u00a0class\u00a0Cannon\u00a0:\u00a0MonoBehaviour\u00a0{<\/p>\n<p>public\u00a0GameObject\u00a0originalBullet;<br \/>\npublic\u00a0Transform\u00a0punta;<\/p>\n<p><em>\/\/\u00a0Use\u00a0this\u00a0for\u00a0initialization<\/em><br \/>\nvoid\u00a0Start\u00a0()\u00a0{<br \/>\nStartCoroutine\u00a0(EjemploDeCorutina\u00a0());<br \/>\n}<\/p>\n<p><em>\/\/\u00a0Update\u00a0is\u00a0called\u00a0once\u00a0per\u00a0frame<\/em><br \/>\nvoid\u00a0Update\u00a0()\u00a0{<\/p>\n<p>float\u00a0h\u00a0=\u00a0Input.GetAxis\u00a0(&#8220;Horizontal&#8221;);<\/p>\n<p>transform.Translate\u00a0(0,\u00a00,\u00a0h\u00a0*\u00a0Time.deltaTime\u00a0*\u00a05);<\/p>\n<p>if(Input.GetKeyUp(KeyCode.Space)){<\/p>\n<p><em>\/\/\u00a0do\u00a0the\u00a0shooting.<\/em><br \/>\n<em>\/\/\u00a0instantiate\u00a0&#8211;\u00a0clone\u00a0an\u00a0object<\/em><br \/>\n<em>\/\/\u00a0we\u00a0need\u00a0a\u00a0reference\u00a0to\u00a0the\u00a0original<\/em><br \/>\n<em>\/\/Instantiate(originalBullet);<\/em><br \/>\n<em>\/\/\u00a0rotation\u00a0&#8211;\u00a0Quaternion\u00a0&#8211;\u00a0vector\u00a0de\u00a04\u00a0valores,\u00a0expresa\u00a0rotacion\u00a0en\u00a0un\u00a0espacio\u00a0tridimensional<\/em><br \/>\nInstantiate(originalBullet,\u00a0punta.position,\u00a0transform.rotation);<br \/>\n}<br \/>\n}<\/p>\n<p><em>\/\/\u00a0coroutine\u00a0&#8211;\u00a0NO\u00a0es\u00a0concurrencia\u00a0(pero\u00a0parece!)<\/em><br \/>\n<em>\/\/\u00a0pseudohilos<\/em><br \/>\nIEnumerator\u00a0EjemploDeCorutina(){<\/p>\n<p>while\u00a0(true)\u00a0{<br \/>\nyield\u00a0return\u00a0new\u00a0WaitForSeconds\u00a0(0.1f);<br \/>\nprint\u00a0(&#8220;hola&#8221;);<br \/>\nInstantiate(originalBullet,\u00a0punta.position,\u00a0transform.rotation);<br \/>\n}<br \/>\n}<br \/>\n}<\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<p><strong>Class4 KEN SPRITES<\/strong><\/p>\n<p>using\u00a0System.Collections;<br \/>\nusing\u00a0System.Collections.Generic;<br \/>\nusing\u00a0UnityEngine;<\/p>\n<p>public\u00a0class\u00a0Hadouken\u00a0:\u00a0MonoBehaviour\u00a0{<\/p>\n<p><em>\/\/\u00a0Use\u00a0this\u00a0for\u00a0initialization<\/em><br \/>\nvoid\u00a0Start\u00a0()\u00a0{<\/p>\n<p>}<\/p>\n<p><em>\/\/\u00a0Update\u00a0is\u00a0called\u00a0once\u00a0per\u00a0frame<\/em><br \/>\nvoid\u00a0Update\u00a0()\u00a0{<br \/>\ntransform.Translate\u00a0(-7\u00a0*\u00a0Time.deltaTime,\u00a00,\u00a00,\u00a0Space.World);<br \/>\n}<br \/>\n}<\/p>\n<p>using\u00a0System.Collections;<br \/>\nusing\u00a0System.Collections.Generic;<br \/>\nusing\u00a0UnityEngine;<\/p>\n<p>public\u00a0class\u00a0Ken\u00a0:\u00a0MonoBehaviour\u00a0{<\/p>\n<p>public\u00a0GameObject\u00a0hadouken;<br \/>\npublic\u00a0Transform\u00a0referencia;<\/p>\n<p>private\u00a0Animator\u00a0a;<br \/>\nprivate\u00a0float\u00a0jAnterior;<\/p>\n<p><em>\/\/\u00a0Use\u00a0this\u00a0for\u00a0initialization<\/em><br \/>\nvoid\u00a0Start\u00a0()\u00a0{<br \/>\na\u00a0=\u00a0GetComponent&lt;Animator&gt;\u00a0();<br \/>\njAnterior\u00a0=\u00a00;<br \/>\n}<\/p>\n<p><em>\/\/\u00a0Update\u00a0is\u00a0called\u00a0once\u00a0per\u00a0frame<\/em><br \/>\nvoid\u00a0Update\u00a0()\u00a0{<br \/>\nfloat\u00a0h\u00a0=\u00a0Input.<!--more--><br \/>\ntransform.Translate\u00a0(h\u00a0*\u00a0Time.deltaTime\u00a0*\u00a010,\u00a00,\u00a00);<br \/>\na.SetFloat\u00a0(&#8220;speed&#8221;,\u00a0h);<\/p>\n<p>float\u00a0j\u00a0=\u00a0Input.GetAxis\u00a0(&#8220;Jump&#8221;);<\/p>\n<p>if\u00a0(jAnterior\u00a0==\u00a00\u00a0&amp;&amp;\u00a0j\u00a0==\u00a01)\u00a0{<br \/>\na.SetTrigger\u00a0(&#8220;hadouken&#8221;);<br \/>\n}<\/p>\n<p>jAnterior\u00a0=\u00a0j;<br \/>\n}<\/p>\n<p>public\u00a0void\u00a0Hadouken()\u00a0{<br \/>\nInstantiate\u00a0(hadouken,\u00a0referencia.position,\u00a0hadouken.transform.rotation);<br \/>\n}<\/p>\n<p>void\u00a0OnCollisionEnter2D(Collision2D\u00a0c){<\/p>\n<p>print\u00a0(&#8220;si\u00a0jala&#8221;);<br \/>\n}<\/p>\n<p>void\u00a0OnTriggerEnter2D(Collider2D\u00a0c){<\/p>\n<p>print\u00a0(&#8220;trigger&#8221;);<br \/>\n}<br \/>\n}<\/p>\n<hr \/>\n<p><strong>COROUTINES AND PATROLLING<\/strong><\/p>\n<p>using\u00a0System.Collections;<br \/>\nusing\u00a0System.Collections.Generic;<br \/>\nusing\u00a0UnityEngine;<\/p>\n<p>public\u00a0class\u00a0Cannon\u00a0:\u00a0MonoBehaviour\u00a0{<\/p>\n<p>public\u00a0GameObject\u00a0projectile;<\/p>\n<p>private\u00a0IEnumerator\u00a0corutina;<br \/>\nprivate\u00a0float\u00a0jAnterior;<\/p>\n<p><em>\/\/\u00a0Use\u00a0this\u00a0for\u00a0initialization<\/em><br \/>\nvoid\u00a0Start\u00a0()\u00a0{<br \/>\n<em>\/\/StartCoroutine\u00a0(Ejemplo1\u00a0());<\/em><br \/>\ncorutina\u00a0=\u00a0Ejemplo1();<br \/>\njAnterior\u00a0=\u00a00;<br \/>\n}<\/p>\n<p><em>\/\/\u00a0Update\u00a0is\u00a0called\u00a0once\u00a0per\u00a0frame<\/em><br \/>\nvoid\u00a0Update\u00a0()\u00a0{<br \/>\nfloat\u00a0j\u00a0=\u00a0Input.GetAxisRaw\u00a0(&#8220;Jump&#8221;);<\/p>\n<p>if\u00a0(jAnterior\u00a0==\u00a00\u00a0&amp;&amp;\u00a0j\u00a0==\u00a01)\u00a0{<br \/>\nStartCoroutine\u00a0(corutina);<br \/>\n}<\/p>\n<p>if\u00a0(jAnterior\u00a0==\u00a01\u00a0&amp;&amp;\u00a0j\u00a0==\u00a00)\u00a0{<br \/>\n<em>\/\/StopCoroutine\u00a0(corutina);<\/em><br \/>\nStopAllCoroutines();<br \/>\n}<\/p>\n<p>jAnterior\u00a0=\u00a0j;<br \/>\n}<\/p>\n<p><em>\/\/\u00a0Coroutines\u00a0<\/em><br \/>\n<em>\/\/\u00a0pseudothreads<\/em><br \/>\n<em>\/\/\u00a0&#8211;\u00a0similar\u00a0to\u00a0concurrency<\/em><br \/>\nIEnumerator\u00a0Ejemplo1(){<\/p>\n<p><em>\/\/\u00a0use\u00a0as\u00a0many\u00a0as\u00a0needed\u00a0<\/em><br \/>\n<em>\/\/\u00a0(little\u00a0overhead)<\/em><br \/>\nwhile\u00a0(true)\u00a0{<br \/>\n<em>\/\/\u00a0always\u00a0have\u00a0a\u00a0wait\u00a0of\u00a0some\u00a0sort<\/em><br \/>\nyield\u00a0return\u00a0new\u00a0WaitForSeconds\u00a0(0.2f);<br \/>\nprint\u00a0(&#8220;hola&#8221;);<br \/>\nInstantiate\u00a0(<br \/>\nprojectile,<br \/>\ntransform.position,<br \/>\nprojectile.transform.rotation<br \/>\n);<br \/>\n}<br \/>\n}<br \/>\n}<\/p>\n<p>using\u00a0System.Collections;<br \/>\nusing\u00a0System.Collections.Generic;<br \/>\nusing\u00a0UnityEngine;<br \/>\npublic\u00a0class\u00a0Character\u00a0:\u00a0MonoBehaviour\u00a0{<\/p>\n<p>public\u00a0Node[]\u00a0path;<br \/>\npublic\u00a0float\u00a0threshold;<\/p>\n<p>private\u00a0int\u00a0currentNode;<\/p>\n<p><em>\/\/\u00a0Use\u00a0this\u00a0for\u00a0initialization<\/em><br \/>\nvoid\u00a0Start\u00a0()\u00a0{<br \/>\ncurrentNode\u00a0=\u00a00;<br \/>\nStartCoroutine\u00a0(HacerCambio\u00a0());<br \/>\n}<\/p>\n<p><em>\/\/\u00a0Update\u00a0is\u00a0called\u00a0once\u00a0per\u00a0frame<\/em><br \/>\nvoid\u00a0Update\u00a0()\u00a0{<\/p>\n<p><em>\/\/\u00a02\u00a0cosas\u00a0en\u00a0update<\/em><br \/>\n<em>\/\/\u00a01.\u00a0input<\/em><br \/>\n<em>\/\/\u00a02.\u00a0movimiento<\/em><\/p>\n<p><em>\/\/\u00a0rota\u00a0el\u00a0objeto\u00a0de\u00a0tal\u00a0manera\u00a0que\u00a0el\u00a0frente\u00a0de\u00a0este\u00a0<\/em><br \/>\n<em>\/\/\u00a0objeto\u00a0ve\u00a0al\u00a0objetivo<\/em><br \/>\ntransform.LookAt(path[currentNode].transform);<br \/>\ntransform.Translate\u00a0(<br \/>\ntransform.forward\u00a0*<br \/>\nTime.deltaTime\u00a0*<br \/>\n5,<br \/>\nSpace.World<br \/>\n);<br \/>\n}<\/p>\n<p>IEnumerator\u00a0HacerCambio(){<\/p>\n<p>while\u00a0(true)\u00a0{<br \/>\nyield\u00a0return\u00a0new\u00a0WaitForSeconds\u00a0(0.1f);<\/p>\n<p>float\u00a0distancia\u00a0=\u00a0Vector3.Distance\u00a0(<br \/>\ntransform.position,<br \/>\npath[currentNode].transform.position<br \/>\n);<\/p>\n<p>if\u00a0(distancia\u00a0&lt;\u00a0threshold)\u00a0{<br \/>\ncurrentNode++;<br \/>\ncurrentNode\u00a0%=\u00a0path.Length;<br \/>\n}<\/p>\n<p>}<br \/>\n}<br \/>\n}<\/p>\n<p>&nbsp;<\/p>\n<p>using\u00a0System.Collections;<br \/>\nusing\u00a0System.Collections.Generic;<br \/>\nusing\u00a0UnityEngine;<\/p>\n<p>public\u00a0class\u00a0Projectile\u00a0:\u00a0MonoBehaviour\u00a0{<\/p>\n<p><em>\/\/\u00a0Use\u00a0this\u00a0for\u00a0initialization<\/em><br \/>\nvoid\u00a0Start\u00a0()\u00a0{<\/p>\n<p>}<\/p>\n<p><em>\/\/\u00a0Update\u00a0is\u00a0called\u00a0once\u00a0per\u00a0frame<\/em><br \/>\nvoid\u00a0Update\u00a0()\u00a0{<br \/>\ntransform.Translate\u00a0(<br \/>\ntransform.forward\u00a0*\u00a0Time.deltaTime\u00a0*\u00a05<br \/>\n);<br \/>\n}<br \/>\n}<\/p>\n<p>&nbsp;<\/p>\n<p>using\u00a0System.Collections;<br \/>\nusing\u00a0System.Collections.Generic;<br \/>\nusing\u00a0UnityEngine;<\/p>\n<p>public\u00a0class\u00a0Node\u00a0:\u00a0MonoBehaviour\u00a0{<\/p>\n<p>public\u00a0Node[]\u00a0children;<\/p>\n<p><em>\/\/\u00a0Use\u00a0this\u00a0for\u00a0initialization<\/em><br \/>\nvoid\u00a0Start\u00a0()\u00a0{<\/p>\n<p>}<\/p>\n<p><em>\/\/\u00a0Update\u00a0is\u00a0called\u00a0once\u00a0per\u00a0frame<\/em><br \/>\nvoid\u00a0Update\u00a0()\u00a0{<\/p>\n<p>}<\/p>\n<p>void\u00a0OnDrawGizmos(){<\/p>\n<p><em>\/\/\u00a0sirve\u00a0para\u00a0dibujar\u00a0Gizmos<\/em><br \/>\n<em>\/\/\u00a0gizmos\u00a0&#8211;\u00a0gr\u00e1ficos\u00a0de\u00a0ayuda\u00a0a\u00a0desarrollador<\/em><br \/>\nGizmos.color\u00a0=\u00a0Color.blue;<br \/>\nGizmos.DrawSphere\u00a0(transform.position,\u00a01);<\/p>\n<p>if\u00a0(children\u00a0!=\u00a0null\u00a0&amp;&amp;\u00a0children.Length\u00a0&gt;\u00a00)\u00a0{<\/p>\n<p>Gizmos.color\u00a0=\u00a0Color.green;<br \/>\nfor(int\u00a0i\u00a0=\u00a00;\u00a0i\u00a0&lt;\u00a0children.Length;\u00a0i++){<\/p>\n<p>Gizmos.DrawLine\u00a0(<br \/>\ntransform.position,<br \/>\nchildren[i].transform.position<br \/>\n);<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\n}<\/p>\n<hr \/>\n<p>NOTAS:<\/p>\n<p>VECTOR3\u00a0https:\/\/docs.unity3d.com\/ScriptReference\/Vector3.html<\/p>\n<p>movement:<\/p>\n<p>t.Translate (h * velocidad * Time.deltaTime, v * velocidad * Time.deltaTime, 0, Space.World);<\/p>\n<p>&nbsp;<\/p>\n<p>Collisions and triggers:<\/p>\n<p>void OnCollisionEnter(Collision c){}<br \/>\nvoid OnCollisionStay(Collision c){ }<br \/>\nvoid OnCollisionExit(Collision c){ }<br \/>\nvoid OnTriggerEnter(Collider c){ }<br \/>\nvoid OnTriggerStay(Collider c){ }<br \/>\nvoid OnTriggerExit(Collider c){ }<\/p>\n<p>Instatiate with rotation:<\/p>\n<p>Instantiate (bullet, punta.position, punta.transform.rotation); Instantiate (bullet, punta.position, punta.transform.rotation);<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8211;Originally published at Sierra&amp;#039;s Blog CLASS 1 \/\/se ejecuta una vez al iniciar el gameobject \/\/no se sabe el orden de ejecuci\u00f3n void Awake(){ } &nbsp; \/\/se ejecuta despu\u00e9s de todos los awake \/\/\u00fasalo para inicializaci\u00f3n void Start(){ } &nbsp; \/\/se ejecuta una vez por frame \/\/pon aqu\u00ed entradas de usuario y movimiento void Update(){ &hellip; <a href=\"https:\/\/kenscourses.com\/tc101fall2016\/syndicated\/c\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">C#<\/span><\/a><\/p>\n","protected":false},"author":58,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,4],"tags":[26],"class_list":["post-40258","post","type-post","status-publish","format-standard","hentry","category-blogs","category-syndicated","tag-sin-categoria"],"_links":{"self":[{"href":"https:\/\/kenscourses.com\/tc101fall2016\/wp-json\/wp\/v2\/posts\/40258","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kenscourses.com\/tc101fall2016\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kenscourses.com\/tc101fall2016\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kenscourses.com\/tc101fall2016\/wp-json\/wp\/v2\/users\/58"}],"replies":[{"embeddable":true,"href":"https:\/\/kenscourses.com\/tc101fall2016\/wp-json\/wp\/v2\/comments?post=40258"}],"version-history":[{"count":1,"href":"https:\/\/kenscourses.com\/tc101fall2016\/wp-json\/wp\/v2\/posts\/40258\/revisions"}],"predecessor-version":[{"id":40259,"href":"https:\/\/kenscourses.com\/tc101fall2016\/wp-json\/wp\/v2\/posts\/40258\/revisions\/40259"}],"wp:attachment":[{"href":"https:\/\/kenscourses.com\/tc101fall2016\/wp-json\/wp\/v2\/media?parent=40258"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kenscourses.com\/tc101fall2016\/wp-json\/wp\/v2\/categories?post=40258"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kenscourses.com\/tc101fall2016\/wp-json\/wp\/v2\/tags?post=40258"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}