Si resulta, si te retorna NaN es por 2 motivos:
1) O dejaste los campos en blanco
Solución: Inicializa todos los campos con 0
2) O pusiste algún dato NO numérico (Ejemplo: letras, símbolos especiales, etc...)
Solución: Una función para comprobar que solo sean números
YO LO PROBÉ Y A MI ME FUNCIONA PERFECTAMENTE
P.D.: El cálculo debería ir en el botón, o sea:
Código:
on(press) {
total.text=(Number(campo1.text)*0.5 + Number(campo2.text)*2);
}