Cómo hacer un contador en Unity que avance o retroceda Frame a Frame

Introducción

En este artícu­lo vamos a ver cómo hac­er un con­ta­dor en Uni­ty que se incre­mente o decre­mente pro­gre­si­va­mente, es decir que no muestre direc­ta­mente el val­or sino que vaya aumen­tan­do o dis­min­uyen­do has­ta lle­gar a dicho valor.

Esta solu­ción fun­ciona de la sigu­iente man­era, el val­or que debe mostrar el con­ta­dor se encuen­tra definido en un Script que tiene una fun­ción públi­ca que per­mite leer dicho val­or. Luego ten­emos un Script que estará asig­na­do al com­po­nente tex­to que mues­tra el val­or en pan­talla y que leerá el val­or que debe mostrar e irá aprox­imán­dose a dicho val­or de man­era progresiva.

Esto lo ten­drás que analizar y enten­der para poder adap­tar­la a tu pro­pio proyec­to, en el sigu­iente video hay una expli­cación detal­la­da del funcionamiento.

Contador INCREMENTAL en UNITY
🟢

VÍDEOS DEL CANAL CON MÁS BÚSQUEDAS

DE UNITY

DE BLENDER

A con­tin­uación puedes ver el com­por­tamien­to del contador:

cómo hacer un contador para Unity que aumente o disminuya gradualmente hasta llegar al valor.
Fun­cionamien­to del con­ta­dor de cam­bio grad­ual en Unity

Descargar Contador para Unity

A con­tin­uación puedes descar­gar el con­ta­dor para Uni­ty, en la descar­ga vienen dos Scripts y una esce­na en la que está mon­ta­do el sistema.

Al impor­tar­lo les pre­gun­tará si quieren impor­tar TextMesh PRO, ya que el con­ta­dor puede usarse tan­to para tex­to nor­mal como para tex­to tipo Text Mesh PRO.

Con­ta­dor Frame a Frame en Uni­ty — GameDevTraum

Cómo funciona el Contador

El tex­to que se va incre­men­tan­do o decre­men­tan­do de man­era pro­gre­si­va fun­ciona con un Script lla­ma­do Counter, ese Script se asigna al GameOb­ject que tiene asig­na­do un com­po­nente Text o TextMesh­Pro (chequear la casil­la en el inspec­tor si se usa este último).

El val­or que quer­e­mos mostrar estará definido en algún otro Script, en la descar­ga se provee un ejem­p­lo, un Script lla­ma­do Score­Con­trol, pero deberías usar tu pro­pio Script en el que tienes el val­or a mostrar y adap­tar ese Script para que pue­da ser leí­do por el contador.

Cómo adaptar la solución a tu proyecto

En el Script donde tienes el val­or que quieres mostrar debes imple­men­tar la inter­faz de pro­gra­mación ICoun­ter­Val­ue­Con­tain­er que viene den­tro del paque­te, esto en la declaración de la clase, colo­can­do ", ICoun­ter­Val­ue­Con­tain­er" a la derecha de MonoBe­hav­iour, ver cómo está hecho en el Script ScoreControl.

Imple­men­tar esa inter­faz te obliga a definir un méto­do lla­ma­do Get­Val­ue() que devuel­va un val­or entero, así que en tu Script defines un méto­do públi­co que devuel­va un entero lla­ma­do Get­Val­ue() y haces que retorne el val­or que quieres mostrar en pan­talla. Ver cómo está hecho en el Script Score.

El Script Counter lo asig­nas al obje­to del Can­vas que tiene el com­po­nente Text o TextMesh­Pro (recuer­da mar­car la casil­la "use­TextMesh­Pro si ese es el caso") que indi­cará el val­or. Luego, en el inspec­tor, debes asig­nar el GameOb­ject que con­tiene el Script con el val­or que quieres mostrar, en el ejem­p­lo se asigna el obje­to "Con­trol" porque es el que con­tiene el Script Score­Con­trol (que imple­men­ta la inter­faz ICounterValueContainer).

En el inspec­tor del Script Counter tam­bién puedes mod­i­ficar el val­or "incre­ment" que definirá qué tan rápi­do avan­za o retro­cede el con­ta­dor has­ta lle­gar al val­or objetivo.

Scroll al inicio
Secured By miniOrange