Perl, 77.575 (155150 bytes - 50%)
#!perl -nl
$i=vec~$_,0,32;print+qw(- - ^ < > V A)[0,map{vec(qw'p BB# CdCu VDs dEV TB%
#4B VFe 63Ve 2$C eeTT ES4 &CC Vb%'[$i/480%15]'w2$$W4F4w7DeweTFwR$Ew$C2wVdeVe3cw4B#EEVVwC5Tw44bwR&e',$i/480%15*8-$_,4)==$.&&$.,0}01..7]while$8]while$.++<6
Counting the shebang as 2, input is taken from stdin.
Sample usage
$ echo zel | perl zelda.pl
---^-----^-------
-<-----<---------
----->----->-----
-----------------
-----------------
$ echo bof | perl zelda.pl
-----------------
-----------------
--------->--->---
-V---V-----V---V-
---A---A---------
$ echo scs | perl zelda.pl
-----------------
---<-<-<---------
-----------------
-----------V-V---
-A-------A-----A-