If there are more than one type of solid object, you will likely to create Family and add those solid as member. Let's name the family class "solid_family". Then set condition > system > compare between two values > distance(Sprite.X, Sprite.Y, solid_family.X, solid_family.Y) less or equal to 10. Proceed to action and execute what you want to do when condition met.
And for 8-directions behavior you need to specify certain condition that will trigger an action. For the action part simply pick simulate control and choose control: Right.