Hi, think of what the term directional means. Ionic bonds are non directional because the number of anions surrounded a cation is limited by the efficiency of its lattice packing therefore it is not directional afterall. However in covalent bonds, notice how the orbitals overlap, side-ways or head-on which defines the bond angle. The orbitals need to overlap in a specific direction in covalent bonding unlike in ionic bonding. As for rigidity it is the same concept as directional. Ionics bonds are non rigid because no matter how you rotate an anion around a cation, the bond is not affected, it is still the same. Whereas in covalent bonds, it is difficult to rotate the bonds especially in pi bond or side-ways overlapping due to the shape of p orbitals which results in rigidity, relatively.