Yep, I see what you're saying Malee. I had a similiar idea not so long ago but ditched it because I thought I was starting to get a lil too ambi,tious in creating a nice collision system when it could get away with crappier (yet suitable) methods such as hitTest.
Imo, the most CPU consuming part of this system will be calculating the arrows position between movements/frames (because it onvolves a large, repeating loop). So far I got this working with pixel-perfect accuracy and I'm only dropping one or two frames (it actually uses your method Malee, so thanks! :p).
I'm going to decide between 3 simple methods:
Solution #1:Have an array containing all mc's of grouped obstacles (so 2-3 obstacles per mc). Loop through array to find a bounding-box collision between mc's. If there's a hit break the loop and look for a shapeFlag collision between all obstacles inside mc (this use the loop that I was talking about in the above paragraph). If there's a collision break the loops, find the pixel colour of the shape in collision layer, and act accordingly.
Solution #2:Find a collision between all obstacles and the arrow using a shapeflag hitTest accompanied by a loop to get pixel-perfect accuracy. When a collision is found break the loops, find the pixel colour of the shape in collision layer, and act accordingly. [NOTE: This is the same as solution #1, but ignores all of the extra fuss of grouping mc's as I thought that would be overkill with only 10 obstacles on screen most of the time]
Solution #3:With the use of a loop (to get pixel-perfect results), check the pixel colour of collision layer every step between movements of arrow. I figured this would be OK as long as the getPixel command isn't so demanding on the frame rate.
So yeah, they seem to be the best and simplest options, but i just need to find the most suitable one (solution 1 seems to be the least demanding, followed by 2, and solution 3 comes last (but I'm not completely sure, as I've never experimented with finding pixel colours and such)).
Sorry for making this simple scenario appear to be a lot more complex than what it trully is, but I just want to make sure I'm not throwing away a good frame rate because I took an easy way out.
Viza.